打字稿编译不输出到 outDir 选项

Posted

技术标签:

【中文标题】打字稿编译不输出到 outDir 选项【英文标题】:Typescript compile not outputting to outDir option 【发布时间】:2020-09-02 18:35:20 【问题描述】:

我正在尝试设置一个 Typescript 项目并且在编译该项目时遇到了困难。我已将 outDir 属性设置为当前文件夹中的 dist。我尝试运行build: echo \"Hello\" and pwd 以及正确输出hello 的npm run build,以及tsconfig.json 所在的当前目录。 我的 tsconfig.json 是:


  "compilerOptions": 
    "baseUrl": "src",
    "declaration": true,
    "lib": ["esnext.asynciterable", "es6", "es2017"],
    "module": "commonjs",
    "moduleResolution": "node",
    "outDir": "./dist/",
    "strict": true,
    "noUnusedLocals": true,
    "noImplicitReturns": true,
    "forceConsistentCasingInFileNames": true,
    "target": "es2017",
    "typeRoots": ["./node_modules/@types", "./@types"]
  ,
  "include": [
    "./src/**/*.ts"
  ]

我的 package.json 是:

  "scripts": 
    "build": "npm run compile",
    "compile": "tsc",
    "clean": "rm -rf node_modules dist"
  ,
  "devDependencies": 
    "@types/node": "^11.13.4",
    "typescript": "^3.6.4"
  

在我的目录中的任何地方或看起来的任何地方都没有创建 dist 文件夹。对于我的目录中的一个 ts 文件,命令行上似乎没有任何错误,也没有我传递给 tsc 的任何其他特定文件选项。我是不是初始化不正确?

【问题讨论】:

您可以尝试删除baseUrl 并检查它是否解决了问题? 我试过了,但还是不行。虽然我确实尝试运行 npm run compile,然后它能够​​编译并创建 dist 文件夹,但不确定为什么 build 没有运行。 【参考方案1】:

我可以通过设置让它运行:

  "npm-pretty-much": 
    "runRelease": "always"
  , 

"release": "npm run lint && npm run compile"。不知道我在构建命令时做错了什么。

【讨论】:

以上是关于打字稿编译不输出到 outDir 选项的主要内容,如果未能解决你的问题,请参考以下文章

使用 RollUp 捆绑打字稿 - 无法处理编译器选项

编译打字稿而不转译异步函数

打字稿 noEmit 用例

是否有充分的理由在打字稿项目中将编译器选项“声明”设置为 true

如何使用 npm 命令编译打字稿?

打字稿模块分辨率