【发布时间】:2017-07-18 02:24:30
【问题描述】:
所以关注这个帖子In Visual Studio, how can I set the Build Action for an entire folder? 该解决方案对我有用。我有一个 webpack 配置,它在发布的 Build 文件夹中创建散列文件。我现在遇到的问题是不再生成的文件仍然可以实时使用。 这是场景:
- 在每次构建时,脚本都会从 ./Build 文件夹中删除所有内容
- 首次使用 .csproj 文件中的通配符配置生成并发布
index.js和main.js - 再次清理 ./Build 文件夹,仅生成
index.js,但main.js仍然可用。
我想这是一个问题,因为除了 .js 和 .css 媒体文件也被捆绑在一起,图像和字体被加载和散列,在当前状态下,它会变得非常拥挤,有一堆相同文件的版本。 知道如何解决这个问题吗?
【问题讨论】:
-
根据您的描述,我不确定您的问题,您能详细描述一下吗?另外,main.js文件是不是没有生成?或者 main.js 文件没有生成但仍然可用?但是为什么在第二次构建时没有生成 main.js 文件,你怎么知道 main.js 文件可用?您介意与我们分享有关此问题的更多详细信息(步骤、.csproj 等),以便我们重现此问题吗?谢谢。
-
.csproj 用于生成文件包含的配置是来自那里的链接。我正在开发一个多页面应用程序,每个应用程序都有一个 .js 文件,我们称它们为 index.js 和 main.js'。它们被用作 webpack 的入口点,因此当 TFS 进入 NPM 任务时,文件会在 Build 文件夹中生成。由于 .csproj(...Include="Build**."`) 中的通配符配置,他们得以上线。在现场你打开前:www.ss.com/Build/js/(index.js|main.js) 文件在那里。
-
假设你不再有需要main.js的页面,它不再在webpack配置的入口列表中,所以当你运行webpack时它不再生成。在 ./Build/js 文件夹中,您将只有 index.js。它继续直播并且 index.js 已更新。 main.js 不会在 TFS 运行 NPM 任务后生成,但它仍然可以在线使用。如果您在浏览器中打开一个指向它的直接链接,它仍然会存在。希望我的解释很清楚
-
似乎不再包含在项目中但过去的文件只是保留在发布文件夹中。
-
你使用VS构建还是TFS构建?如果您使用 Visual Studio 构建,请尝试使用 MSBuild 命令行?如果您使用 TFS 构建,您介意与我们分享构建定义吗?谢谢。
标签: javascript visual-studio tfs msbuild