.d.ts文件中的意外标识符

时间:2019-04-13 22:10:56

标签: javascript typescript type-definition declaration-files

我正在使用带有以下构建说明的打字稿。

"build:types": "tsc --emitDeclarationOnly",
"build:js": "babel src --out-dir lib --extensions \".ts,.tsx\" --source-maps inline",
"start": "npm run build:types && npm run build:js && node ./lib/bin/www.js"

我的.ts文件之一导入了猫鼬。运行npm start时,出现以下错误。在.d.ts文件中

\lib\models\v1\collection1.model.d.ts:1
(function (exports, require, module, __filename, __dirname) { import mongoose from 'mongoose';
                                                                     ^^^^^^^^

SyntaxError: Unexpected identifier

请注意,“ @ types / mongoose”和“ mongoose”已经是依赖项。

collection1.model.d.ts的内容如下。由tsc --emitDeclarationOnly

生成
import mongoose from 'mongoose';
declare const _default: mongoose.Model<mongoose.Document, {}>;
export default _default;

tsconfig.json

{
"compilerOptions": {
  "target": "es2015",                       
  "module": "commonjs",                     
  "declaration": true,                     
  "outDir": "./lib",                          
  "strict": false,                           
  "allowSyntheticDefaultImports": true,     
  "esModuleInterop": true,
},
"include": ["src"]

}

.babelrc

{
"presets": [
    "@babel/env",
    "@babel/typescript"
],
"plugins": [
    "@babel/proposal-class-properties",
    "@babel/proposal-object-rest-spread",
    "@babel/transform-runtime"
]

}

1 个答案:

答案 0 :(得分:0)

所以问题是我不应该使用babel,而应该简单地使用tsc生成所有代码。谢谢您提供的所有帮助