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を使用することです: lodash-esを使用するようにbabelを正しく構成する方法 。彼らがまったく同じ理由を持っているかどうかわからないので、ここでTypeScriptを求めました
ここ からタイプをロードできます:
npm install --save-dev @types/lodash-es
そしてそれを次のように使用します:
import { camelCase } from "lodash-es"