我使用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项目文件夹结构是否有可用的文档?
答案 0 :(得分:2)
从@unional的小费中我找到了答案,即在tsconfig.json中有一个明确的exclude
选项。
编译器默认包含所有包含目录和子目录中的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”来获得单独的输出文件。这样,您仍然可以检查那些文件,但不会出现写入错误。