tsconfig.json并不关心allowJs

时间:2018-01-21 21:35:14

标签: javascript angular tsconfig

我试图在我的Angular 5应用程序中使用一个.js文件,该文件只能用JavaScript语言编写,因此我无法在TypeScript中找到替代方法。

问题是我在tsconfig.json中添加了"allowJs": true,但错误仍然有效。我的tsconfig.json是:

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "allowJs": true,
    "baseUrl": "src",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2016",
      "dom"
    ]
  }
}

错误是:

'<path>/file.js' has unsupported extension. The only supported extensions are '.ts', '.tsx', '.d.ts'.

怎么了?

2 个答案:

答案 0 :(得分:0)

“AllowJs”选项允许您接受js文件作为ts文件的输入。

您可以将js文件迁移到typescript,请点击此链接获取更多详细信息: https://www.typescriptlang.org/docs/handbook/migrating-from-javascript.html

答案 1 :(得分:0)

{
  "compilerOptions": {
    "outDir": "./built",
    "allowJs": true,
  }
}

您只能运行tsc来编译js文件。

如果您运行tsc file.js,它将引发错误。

因为如果运行tsc,它将找到最近的配置文件,但是如果运行tsc file.js,它将根据默认文件运行(allowJs:false,忽略tsconfig.json)。