刚开始使用打字稿。不幸的是,当我尝试为生产进行构建时,它失败了。
首先我运行
tsc
这没有任何错误,但是当我尝试运行构建文件时,我得到导入错误
node build/index.js
我得到的错误如下:
[0] (function (exports, require, module, __filename, __dirname) { import {
[0] ^^^^^^
[0]
[0] SyntaxError: Unexpected token import
[0] at createScript (vm.js:80:10)
[0] at Object.runInThisContext (vm.js:139:10)
以下是我的tsconfig
{
"include": [
"src/**/*"
],
"exclude": [
"node_modules",
"**/*.spec.ts"
],
"compilerOptions": {
"lib": [
"es5",
"es6",
],
"pretty": true,
"target": "es5",
"module": "commonjs",
"outDir": "./build",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"sourceMap": true
}
}
我正在使用节点v8.9.3
答案 0 :(得分:5)
使用NodeJ时,tsconfig.json
应如下所示:
{
"include": [
"src/**/*"
],
"exclude": [
"node_modules",
"**/*.spec.ts"
],
"compilerOptions": {
"lib": ["es6"], // No need for "es5" if you have "es6"
"types": ["node"], // When you code for nodejs
"target": "es6", // NodeJs v8.9.3 supports most of the es6 features
"pretty": true,
"module": "commonjs",
"outDir": "./build",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"sourceMap": true
}
}
答案 1 :(得分:5)
如果使用TypeOrm,则ormconfig可能存在问题。您的配置文件可能包含src/entities/*.ts
部分中的entity
之类的路径。因此,这导致需要从*.ts
文件夹而不是src
文件夹中提取dist
个文件。