将Webpack与Web窗体结合使用

时间:2019-05-13 02:33:54

标签: c# webpack webforms

我有一个webpack配置,它将我的Web应用程序的所有依赖关系联系在一起。该Web应用程序非常老,是使用Web窗体制作的。我不再使用内置的.NET缩小程序和捆绑加载程序,而是使用Webpack的供应商软件包等。

我的问题是Web应用程序不在虚拟目录中提供,因此我需要能够在运行时可靠地找到Web应用程序所需的所有* .js文件。在我的脑海中,我认为这看起来像Webpack一样,“以某种方式”产生了它所写文件的输出(包括哈希等),然后以某种方式将其放入我的母版页或其他内容。我知道有一个用于webpack的HTML插件,但我不知道该如何纠缠它才能生成* .js文件列表,或者即使是在正确的轨道上。

如何从Web窗体中加载Webpack的* .js和* .css文件?

1 个答案:

答案 0 :(得分:1)

首先,您需要安装assets-webpack-plugin并在Webpack中对其进行配置。您可以在npmjs.org

中访问此软件包

这为什么有用?

使用Webpack时,您可能希望生成包含已生成哈希值的捆绑软件(用于缓存清除)。该插件会输出一个json文件,其中包含生成的资产的路径,以便您可以从其他地方找到它们。

这里有一个不错的tutorial,可以在ASPX中动态添加样式和脚本。

{
    "one": {
        "js": "/js/one_2bb80372ebe8047a68d4.bundle.js"
    },
    "two": {
        "js": "/js/two_2bb80372ebe8047a68d4.bundle.js"
    }
}

在您的aspx或Web表单母版页中,您可以轻松地反序列化此JSON并在页面中加载脚本和样式资产。

我在我的MVC项目中使用assets-webpack-plugin,并且确信在ASPX WebForms中使用它不会有问题。