【发布时间】:2017-11-09 01:23:28
【问题描述】:
我已经使用以下命令安装了节点类型定义
npm install --save-dev @types/node
之后,当我尝试使用以下语句导入节点类型定义时
import { Process } from '@types/node';
或
import { Process } from 'node';
我收到以下错误
[ts] File '<root_path>/node_modules/@types/node/index.d.ts' is not a module.
我确信这里缺少一些非常基本的东西,但我无法弄清楚。
还有一些事情
- 我使用的是 Windows 8
- 我正在使用 Visual Studio Code
这是我的tsconfig.json 的样子
{
"compilerOptions": {
"target": "es2015",
"module": "commonjs",
"outDir": "lib",
"typeRoots": [
"node_modules/@typings"
]
},
"exclude": [
"node_modules"
]
}
这就是我的webpackconfig.js 的样子
var path = require('path');
module.exports = {
entry: './ts/handler.ts',
target: 'node',
module: {
loaders: [
{ test: /\.ts(x?)$/, loader: 'ts-loader' },
{ test: /\.json$/, loader: 'json-loader' }
]
},
resolve: {
extensions: ['.ts', '.js', '.tsx', '.jsx']
},
output: {
libraryTarget: 'commonjs',
path: path.join(__dirname, '.webpack'),
filename: 'handler.js'
},
};
【问题讨论】:
-
您不需要从
@types/node导入。您只需要从“节点”导入。您还需要将typeRoots中的[ "node_modules/@types" ]更改为tsconfig.json -
@embarq 仅从
node导入后出现相同错误 -
@embarq 在更改
typeRoots后仍然出现同样的错误。
标签: node.js typescript webpack webpack-2 typescript-typings