我正在尝试将node_module导入TypeScript文件。我正在使用angular2-webpack-starter改编我的项目结构。
import ace from 'brace';
在我的一个档案中给了我
找不到模块'大括号'。
但是
var ace = require('brace');
工作正常。根据{{3}}我不应该有任何问题。
我的webpack配置文件是从angular2-webpack-starter复制的。 我的tsconfig.json如下
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": true
},
"files": [
"src/bootstrap.ts",
"src/vendor.ts",
"src/polyfills.ts"
],
"filesGlob": [
"./src/**/*.ts",
"!./node_modules/**/*.ts"
],
"compileOnSave": false,
"buildOnSave": false
}
为什么一个会工作而另一个不工作?
答案 0 :(得分:7)
答案与this issue有关。如果模块没有可用的类型数据(通过.d.ts
文件),则为ES6模块语法
import name from "module-name";
import * as name from "module-name";
import { member } from "module-name";
//etc
不起作用,必须使用CommonJS替代方案
var name = require("module-name");