我正在尝试将node_module导入TypeScript文件.我正在使用angular2-webpack-starter改编我的项目结构.
import ace from 'brace';
在我的一个文件中给了我
找不到模块'大括号'.
但
var ace = require('brace');
工作良好.根据这个问题,我不应该有任何问题.
我的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 }
为什么一个工作而另一个工作?
答案与此问题有关.如果模块没有可用的类型数据(通过.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");