Я использую typescript со следующими инструкциями по сборке.
"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
файлов импортирует mongoose. При запуске 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"
]
}
.d.ts
не должно быть функций. Это немного сбивает с толку.collection1.model.d.ts
это ваш файл? - person Pace   schedule 14.04.2019import
, что обычно происходит только в том случае, если вы ориентируетесь на ES6 или выше, ноNodeJS
еще не поддерживаетimport
. - person Pace   schedule 14.04.2019