WebStorm就地编译TypeScript文件,而不是生成到目标文件夹中

tf7tbtn2  于 2023-08-07  发布在  TypeScript
关注(0)|答案(3)|浏览(159)

我们正在使用WebStorm与TypeScript项目。我们已经使用tsconfig.json正确配置了项目,因为从命令行可以正常工作。
然而,当在WebStorm中打开项目时,它会在适当的位置编译ts文件(它会在与对应的ts文件相同的文件夹中生成js文件),正如tsconfig所说,它应该在dist目录中。
例如,在下面的屏幕截图中,evaluator.jsevaluator.ts文件在同一个文件夹中。你知道如何配置WebStorm,使其不生成js文件吗?


的数据
以下是Typescript首选项。



下面是tsconfig.json文件

{
  "compilerOptions": {
    "allowJs": true,
    "allowSyntheticDefaultImports": true,
    "charset": "utf-8",
    "declaration": true,
    "experimentalDecorators": true,
    "module": "commonjs",
    "moduleResolution": "node",
    "outDir": "dist",
    "pretty": false,
    "rootDir": "src",
    "sourceMap": true,
    "strict": true,
    "stripInternal": true,
    "target": "es2016",
    "typeRoots": ["node_modules/@types"],
    "types": ["node", "jest"],
    "lib": [
      "es2019"
    ]
  },
  "include": ["src/**/*.ts", "src/**/*.js", "src/index.ts"],
  "exclude": ["node_modules"]
}

字符串

omvjsjqw

omvjsjqw1#

Apparently Webstorm transpiles typescript files to javascript independently
确保在首选项中禁用“启用TypeScript编译器”|语言和框架|TypeScript,并且您没有在首选项中设置TypeScript文件监视器|工具组|文件监视器

vh0rcniy

vh0rcniy2#

你需要在你的package.json中有这样的东西

...
  "main": "app/src/index.js",
  "scripts": {
    "copyjson": "copyfiles 'src/**/*.json' app",
    "copyhbs": "copyfiles 'src/**/*.hbs' app",
    "copyhtml": "copyfiles 'src/**/*.html' app",
    "prebuild": "tslint -c tslint.json -p tsconfig.json --fix",
    "build": "tsc && npm run copyjson && npm run copyhbs && npm run copyhtml",
    "prestart": "npm run build",
    "start": "node app/src/index"
  }
...

字符串
然后做

npm install
npm run build
npm run start

bkhjykvo

bkhjykvo3#

我也有同样的问题。然而,对我来说,问题是当我运行我的单元测试时,最新版本的代码没有反映在编译的文件中。无法从webstorms设置中找到修复方法。所以最后我只是添加了一个yarn目标来删除源代码中生成的所有文件。然后,我可以在运行测试之前运行此命令,以确保得到一个新编译的版本。package.json中的脚本如下所示:

"scripts": {
    "clear-cache": "find src -type f \\( -name \"*.js\" -o -name \"*.d.ts.map\" -o -name \"*.d.ts\" \\) -exec rm {} \\;",
  },

字符串
并没有真正解决原来的问题,但它是我所能得到的最接近的。

相关问题