无法写文件' .... / public / scripts / script.js'因为它会覆盖输入文件

时间:2017-07-14 15:37:35

标签: typescript

我使用TypeScript Basic Node.js Express 4 Application模板在Visual Studio 2017中创建了一个项目。

我有一个文件/public/scripts/script.js可供下载到客户端。当我尝试构建应用程序时,我得到了:

  

TS5055无法写入文件' d:/ documents / visual studio 2017 / Projects / ExpressApp / ExpressApp / public / scripts / script.js'因为它会覆盖输入文件。

这个错误是什么意思?为什么要写这个文件?即使我从项目中排除此文件,也会出现错误。我该如何纠正这个问题?

我将文件夹从scripts重命名为js,问题仍然存在。成功构建的唯一方法是删除该文件。我在哪里放置供客户使用的文件?

TypeScript / Node项目的Visual Studio项目文件夹结构是否有可用的文档?

2 个答案:

答案 0 :(得分:2)

从@unional的小费中我找到了答案,即在tsconfig.json中有一个明确的exclude选项。

根据typescriptlang.org

  

编译器默认包含所有包含目录和子目录中的TypeScript(.ts,.d.ts和.tsx)文件,但使用" exclude"排除的文件除外。属性。如果allowJs设置为true,则还包括JS文件(.js和.jsx)

如果未指定exclude,则仅排除node_modules和其他几个。以下对我有用:

"exclude":  [ "node_modules", "public"]

请注意,exclude不是compilerOptions的属性,但与tsconfig.json中的compilerOptions处于同一级别。

答案 1 :(得分:0)

在VSCode中有效的另一个选项是使用“ CompilerOptions”部分下的“ outFile”:“ out.js”来获得单独的输出文件。这样,您仍然可以检查那些文件,但不会出现写入错误。