部署对IntelliJ中的Typescript生成的JavaScript文件的更改; js没有更新

时间:2017-11-18 19:09:35

标签: javascript typescript spring-boot intellij-idea

我遇到IntelliJ问题,并且在服务器运行时自动部署更改(在本例中为Spring Boot)。

我在IntelliJ选项中启用了“自动构建项目”。

当我对.ts文件进行更改时,代码中的.js和.js.map文件会正确更新。

.ts文件,但是它没有在目标目录中更新。那是没问题的。我只需按“编译”快捷方式,目标输出中的.ts文件就会更新。大。

但未更新的是目标.js和js.map文件。无论我打开这些文件多少次并按“编译”,目标中的文件都不会更新。因此.ts和.js文件现在不同步,我需要重新启动服务器才能注意.js文件更改。

更奇怪的部分是,所有这些在我的工作计算机上工作正常,我可以告诉完全相同的设置。但我不能让它在家用电脑上工作。 我的同事也不能让它在他的工作计算机上工作,而且我已经查看并寻找设置中的任何差异。

就好像IntelliJ在某些设置上观察文件的更改一样,在某些设置中,它们会因为生成而被完全忽略。

任何人都能帮助我吗?

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决方案。

通过将tsconfig.json更改为声明compilerOptions/outDir以便将其直接输出到target/classes/static目录,可以正确传播更改。 (对我而言,价值变成了美丽的../../../../../target/classes/static/scripts

副作用是,源映射路径变得非常不稳定,并开始在浏览器开发工具中显示为名为C:/.../src/main/resorces/static/...的文件夹,在JavaScript根目录内,并且打字稿文件有困难有时出现,只是空白。

我找到的解决方法是将compilerOptions/inlineSources设置为true并将compilerOptions/sourceRoot设置为虚构的http://TypeScriptFiles,以便它在浏览器开发工具中显示为新的根节点名为TypeScriptFiles,而不是奇怪的嵌套目录。