node.js - 实际上在不验证的情况下从发布中排除文件

标签 node.js visual-studio msbuild publish node-modules

我正在尝试发布一个纯客户端项目 - 即 - 纯 html/js/css 文件,在开发期间由 nodejs 管理。 Node 创建了一个非常深的路径(超过 260 个字符)- 在 node_modules/...
虽然我已经完全排除了node_modules:

<ExcludeFoldersFromDeployment>test;node_modules</ExcludeFoldersFromDeployment>

当我尝试发布时它仍然抛出异常:

Error   1   The "CollectFilesinFolder" task failed unexpectedly.
System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified     
file name must be less than 260 characters, and the directory name must be less than 248 characters.
at System.IO.PathHelper.GetFullPathName()

我知道它特别是 node_modules,因为手动删除它可以解决问题。
除此之外,排除工作正常('test' 文件夹被排除)。

如何避免这些文件被考虑发布?

最佳答案

我通过全局安装一些(如果不是全部)依赖项解决了这个问题:

npm install -g package

然后使用

安装到项目中
npm install --link

结果是 NPM 会为全局安装的包创建快捷方式而不是复制它们,而且 msbuild 似乎不会尝试访问这些链接。

关于node.js - 实际上在不验证的情况下从发布中排除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25237823/

相关文章:

TFSBuild/MSBuild 和项目引用与文件引用

c# - 以编程方式构建项目

node.js - 碰撞 package.json 版本而不使 docker 缓存失效

javascript - 为什么 google cloud vision Logo detection 在同一张图片上返回不同的结果?

c++ - fatal error C1083 : Cannot open include file: 'xmemory' : No such file or directory

c# - visual studio 2005 设计器移动控件并调整窗体大小

node.js - Express JS 在请求中使用异步函数

node.js - Sails.js 填充嵌套关联

MySQL for Visual Studio 安装失败,错误代码 1603

.net - MSBuild 条件 IsDebug