我需要在我的 TypeScript 项目中使用 lodash-es
,但是我无法正确配置它,它总是报告类似于 SyntaxError: Unexpected identifier
的错误。
hello.ts
import upperCase from 'lodash-es/upperCase'
console.log('Hello ' + upperCase('typescript') + '!');
package.json
{
"scripts": {
"demo": "ts-node hello.ts"
},
"dependencies": {
"lodash-es": "4.17.11"
},
"devDependencies": {
"@types/lodash-es": "4.17.1",
"ts-node": "7.0.0",
"typescript": "3.0.1"
}
}
tsconfig.json
{
"compilerOptions": {
"target": "es6",
"module": "commonjs"
}
}
当运行ts-node hello.ts
时,会报告以下错误:/typescript-use-lodash-es-demo/node_modules/lodash-es/upperCase.js:1
(function (exports, require, module, __filename, __dirname) { import createCompounder from './_createCompounder.js';
^^^^^^^^^^^^^^^^
SyntaxError: Unexpected identifier
at new Script (vm.js:79:7)
at createScript (vm.js:251:10)
我还为这个问题设置了一个小演示,如果您需要的话,可以克隆并尝试:https://github.com/freewind-demos/typescript-use-lodash-es-demo
另外一个相关问题是如何在babel中使用lodash-es: How to configure babel correctly to use lodash-es?。由于我不确定它们完全相同的原因,所以我在这里询问了typescript。
next-transpile-modules
中,只需使用withTM(['lodash-es'])
。 - cbr