{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
},
"exclude": [
"node_modules",
"typings/main",
"typings/main.d.ts"
]
}
我正在尝试将angular2 / beta8应用程序升级到RC1,而我是根据Quickstart指南进行基本重组。
我将其tsconfig.json复制到我的项目目录中。我想我已准备好其他所有内容,但是当我运行tsc
时,我在node_modules文件夹中的文件中会出现各种错误。为什么它首先在那里寻找?
答案 0 :(得分:6)
我不知道你是否找到了这个Alex的答案,但LDL评论中提到的question/answer提供了一个答案,由Srikanth Injarapu提交。
以下是答案,以防万一有人不想去那个链接:
如果您要定位ES5,请添加 " node_modules /打字稿/ LIB / lib.es6.d.ts"到tsconfig.json文件:
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"noImplicitAny": false,
"outDir": "built",
"rootDir": ".",
"sourceMap": false
},
"files": [
"helloworld.ts",
"node_modules/typescript/lib/lib.es6.d.ts"
],
"exclude": [
"node_modules"
]
}
修改强>
在我的应用程序中,我使用webpack来构建我的应用程序,我仍然得到在控制台上吐出的相同错误。我目前正在寻找解决这个问题的方法,并会报告我发现的内容。
答案 1 :(得分:2)
在 tsconfig.json
中添加此选项{
"compilerOptions": {
"skipLibCheck": true
},
}
答案 2 :(得分:1)
对于任何使用webpack的人,添加“ exclude”属性对我来说不起作用。
相反,将所有文件扩展名添加到webpack的“ resolve”属性中,并将node_modules从所有有效的“ rules”对象中排除:
resolve: {
extensions: ['*', '.ts', '.tsx', '.js']
},
module: {
rules: [
{
test: /\.ts(x?)$/,
exclude: /node_modules/,
use: [
{
loader: "ts-loader"
}
]
},
// All output '.js' files will have any sourcemaps re-processed by 'source-map-loader'.
{
enforce: "pre",
test: /\.js$/,
exclude: /node_modules/,
loader: "source-map-loader"
},
]