ann*_*123 17 javascript node.js typescript
I was making my first typescript-node-express application.
To start with, I created my own tsconfig file which looks like
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"strict": true,
"baseUrl": "./",
"outDir": "./build",
"sourceMap": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"importHelpers": true,
"types": [
"node"
],
"typeRoots": [
"node_modules/@types"
],
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modues"
]
}
}
Run Code Online (Sandbox Code Playgroud)
And inside my src/app.ts I am initialising my express app
import * as express from "express";
class App {
constructor() {
this.app = express();
}
//TODO: What is public app: express.Application
public app: express.Application;
}
const app = new App().app;
const port = 4040;
app.listen(port, function() {
console.log('Express server listening on port ' + port);
});
Run Code Online (Sandbox Code Playgroud)
Now, When I do ts-node ./src/app.ts I am getting the following error
error TS5023: unknown compiler option 'include'.
error TS5023: unknown compiler option 'exclude'.
Run Code Online (Sandbox Code Playgroud)at createTSError (/Users/an/.nvm/versions/node/v10.15.3/lib/node_modules/ts-node/src/index.ts:245:12) at reportTSError (/Users/an/.nvm/versions/node/v10.15.3/lib/node_modules/ts-node/src/index.ts:249:19) at Object.register (/Users/an/.nvm/versions/node/v10.15.3/lib/node_modules/ts-node/src/index.ts:260:36) at Object.<anonymous> (/Users/an/.nvm/versions/node/v10.15.3/lib/node_modules/ts-node/src/bin.ts:120:17) at Module._compile (internal/modules/cjs/loader.js:701:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10) at Module.load (internal/modules/cjs/loader.js:600:32) at tryModuleLoad (internal/modules/cjs/loader.js:539:12) at Function.Module._load (internal/modules/cjs/loader.js:531:3) at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)Unknown compiler
Can someone help me figure out why I am getting this error?
Our*_*rus 50
根据手册,include并且exclude应该是 的兄弟姐妹compilerOptions,而不是孩子:
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"strict": true,
"baseUrl": "./",
"outDir": "./build",
"sourceMap": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"importHelpers": true,
"types": [
"node"
],
"typeRoots": [
"node_modules/@types"
]
},
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modues"
]
}
Run Code Online (Sandbox Code Playgroud)
N.J*_*son 14
问题是因为它们根本不属于编译器选项。
它们应该与编译器选项一起存在,如下所示:
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"strict": true,
"baseUrl": "./",
"outDir": "./build",
"sourceMap": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"importHelpers": true,
"types": [
"node"
],
"typeRoots": [
"node_modules/@types"
]
},
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modues"
]
}
Run Code Online (Sandbox Code Playgroud)
请参阅此处的示例:https ://www.typescriptlang.org/docs/handbook/tsconfig-json.html#examples