无法读取未定义的属性'json'
at Object。 (C:\网络\ learnTypescript \ DIST \ index.js:7:40)
DIST / index.js:7
app_1.default.use(body_parser_1.default.json());
我创建了一个学习TypeScript的简单项目。我安装了我的依赖项和@types对应项,但是当我尝试启动节点node dist/index.js
时,我仍然遇到上述错误。
tsconfig.json
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"moduleResolution": "node",
"module": "commonjs",
"target": "es6",
"outDir": "dist"
},
"include": [ "src/**/*" ],
"exclude": [ "node_modules" ]
}
的src / index.ts
import app from './app'
import bodyParser from 'body-parser'
/* more imports */
app.use(bodyParser.json());
/* more code follows */
DIST / index.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const app_1 = require("./app");
const body_parser_1 = require("body-parser");
/* more requires */
app_1.default.use(body_parser_1.default.json());
/* more code follows */
答案 0 :(得分:1)
如果您将导入更改为
import * as bodyParser from 'body-parser';
那应该解决它。
* as
语法称为命名空间导入,并有效地创建1个包含文件中所有内容的变量。
根据另一个文件的导出,有几种方法可以从文件导入。
file1.ts
export default class Foo {
}
export class Bar {
}
const a = 'Hello';
export { a as A }
file2.ts
import A from 'file1'; // A is now the default export from file1
import * as File from 'file1'; // File is now a constant with Foo, Bar and A
import { Bar } from 'file1'; // Importing only Bar from file1
正如詹姆斯所提到的,你也可以使用这些代码; import { json } from 'body-parser';