Webpack / typescript需要工作但导入不需要

时间:2016-01-02 07:12:15

标签: import typescript webpack

我正在尝试将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
}

为什么一个会工作而另一个不工作?

1 个答案:

答案 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");