在angular project中添加node.js服务器会引发错误
我有一个角度的应用程序运行良好。接下来,我需要编写一些rest服务,所以我想我将在同一个angular应用程序中创建一个在angular project中添加node.js服务器会引发错误,node.js,angular,Node.js,Angular,我有一个角度的应用程序运行良好。接下来,我需要编写一些rest服务,所以我想我将在同一个angular应用程序中创建一个node.js服务器,因为它只是几个API。我在src\server\server.ts创建了一个文件,下面是它的内容- import express from 'express'; const app = express(); const port = 3000; app.get('/', (req, res) => { res.send('The sedulous
node.js
服务器,因为它只是几个API。我在src\server\server.ts创建了一个文件,下面是它的内容-
import express from 'express';
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('The sedulous hyena ate the antelope!');
});
app.listen(port, err => {
if (err) {
return console.error(err);
}
return console.log(`server is listening on ${port}`);
});
我在express上的第1行出错-
import express
Module '"c:/Users/A12345/quiz-master/node_modules/@types/express/index"' can only be default-imported using the 'allowSyntheticDefaultImports' flagts(1259)
index.d.ts(107, 1): This module is declared with using 'export =', and can only be used with a default import when using the 'allowSyntheticDefaultImports' flag.
我不知道是什么原因引起的。以下是我的package.json
-
{
"name": "quiz-master",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"server": "tsc && node src/server/server.ts",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "~8.2.14",
"@angular/common": "~8.2.14",
"@angular/compiler": "~8.2.14",
"@angular/core": "~8.2.14",
"@angular/forms": "~8.2.14",
"@angular/platform-browser": "~8.2.14",
"@angular/platform-browser-dynamic": "~8.2.14",
"@angular/router": "~8.2.14",
"@fortawesome/fontawesome-free": "^5.12.0",
"@types/chart.js": "^2.9.5",
"angular-bootstrap-md": "^8.8.0",
"animate.css": "^3.7.2",
"chart.js": "^2.5.0",
"core-js": "^2.5.4",
"express": "^4.17.1",
"hammerjs": "^2.0.8",
"pg": "^7.14.0",
"pg-hstore": "^2.3.3",
"prismjs": "^1.17.1",
"rxjs": "~6.5.3",
"sequelize": "^5.21.3",
"sequelize-typescript": "^1.1.0",
"tslib": "^1.9.0",
"zone.js": "~0.9.1"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.803.20",
"@angular/cli": "~8.3.20",
"@angular/compiler-cli": "~8.2.14",
"@angular/language-service": "~8.2.14",
"@types/express": "^4.17.2",
"@types/jasmine": "~2.8.8",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "~4.5.0",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~3.1.1",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.11.0",
"typescript": "~3.5.3"
}
}
我参考了以下链接-
我得到了我的答案-
从“express”导入*为express代码>至const express=require('express')代码>您是否尝试将allowSyntheticDefaultImports
标志设置为true?否,但我们为什么需要这样做?此模块是使用“export=”声明的,并且在使用“allowSyntheticDefaultImports”标志时只能与默认导入一起使用。
错误似乎很清楚。是的,它似乎很清楚,但我只是想知道背后的原因。无论如何,我确实尝试过,这就是我得到的-(函数(导出、要求、模块、文件名、目录名){从“express”导入express;^^^^^^^^^^^^^^语法错误:新脚本中出现意外标识符(vm.js:79:7)
嗯,有人将其标记为否定,而不是帮助。