2017-09-03 39 views
0

我试图让打字稿保留导入语句以用于以后的晃动过程。 这里是有问题的进口代码:获取打字稿以发出es6-import语句原样(之后用于babel&webpack处理)

import { map } from 'lodash'; 

发出:

"use strict"; 
Object.defineProperty(exports, "__esModule", { value: true }); 
const lodash_1 = require("lodash"); 
console.log(lodash_1.map); 

这意味着我lodash-的WebPack插件不能做其工作。 有什么办法可以让tsc保留import语句吗?

谢谢!

+0

见'module'选项:https://开头www.typescriptlang.org/docs/handbook/compiler-options.html – cartant

回答

2

你必须在你的compiler options模块代码生成选项更改为ES6(你似乎目前是commonjs)。

要么改变你的compilerOptions // moduleES6tsconfig.json

{ 
    "compilerOptions": { 
     "module": "ES6", 
     ... 
} 

或者,如果您使用的命令行参数:

tsc <otherargs> --module ES6 
+0

我刚刚尝试过,并导致了很多“无法找到模块”的错误。 (例如,node_modules/@types/jsdom/index.d.ts(10,28):错误TS2307:找不到模块'parse5'。) –

+0

尝试再次删除'node_modules'和'npm install'。 – acdcjunior

+0

刚刚删除了node_modules&纱线缓存清理和纱线安装。仍然没有运气:( –