【问题标题】:typescript error: would overwrite input file打字稿错误:将覆盖输入文件
【发布时间】:2017-06-09 11:54:23
【问题描述】:

我已更新 latest Ionic version 并删除了 src/declarations.d.ts 文件。现在,当我尝试运行应用程序 ionic serve 时,我的应用程序显示以下错误。

打字稿:/sophy/src/assets/dev-load/load.ts,行:1 模块“../../../node_modules/nprogress/nprogress.js”被解析为“/sophy/node_modules/nprogress/nprogress.js”,但是 '--allowJs' 未设置。

   L1:  import * as NProgress from '../../../node_modules/nprogress/nprogress.js'
   L2:  (() => {

have found the solution 为它,现在上面的错误不存在。但现在它显示下面的错误。

打字稿错误 无法写入文件'/sophy/node_modules/nprogress/nprogress.js',因为它 会覆盖输入文件。

你知道为什么吗?

tsconfig.json

{
  "compilerOptions": {
    "allowSyntheticDefaultImports": true,
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": [
      "dom",
      "es2015"
    ],
    "module": "es2015",
    "moduleResolution": "node",
    "sourceMap": true,
    "target": "es5",
    "allowJs": true
  },
  "include": [
    "src/**/*.ts"
  ],
  "exclude": [
    "node_modules"
  ],
  "compileOnSave": false,
  "atom": {
    "rewriteTsconfig": false
  }
}

我认为这是这里的问题。那么我该如何解决呢?当我删除declarations.d.ts 时,就会出现上述错误。如果我添加它,则没有问题(我也必须删除"allowJs": true)。请提供任何解决方案。

src\assets\load.ts

  import * as NProgress from '../../../node_modules/nprogress/nprogress.js'
    (() => {
      NProgress.start();
    })()

【问题讨论】:

  • 如果是同一个nProgress,为什么不使用types
  • 是的,一样。你能提供答案吗?安装打字等后我应该做哪些更改? @suraj

标签: typescript ionic-framework ionic3


【解决方案1】:

您可以尝试使用 js 库的类型声明。

npm install --save-dev @types/nProgress

声明文件可见here。 它将被添加到node_modules/@types 目录。 做

 import Nprogress from 'nprogress'

【讨论】:

  • 我做到了。但它在import[ts] File 'd:/sophy/node_modules/@types/nprogress/index.d.ts' is not a module. 上显示此错误。为什么?
  • 我曾经这样使用过import * as NProgress from 'nProgress'
  • 尝试从 nprogress 导入 Nprogress
猜你喜欢
  • 1970-01-01
  • 2020-05-19
  • 2022-10-18
  • 1970-01-01
  • 2018-01-26
  • 2020-12-22
  • 2020-05-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多