如何在遗留 java 网络应用程序中捆绑 js/css
How to bundle js/css in legacy java web application
我们有一些基于 struts mvc 的旧 java 网络应用程序,我们正在使用 Maven 进行构建。我们正在研究捆绑静态内容的方法,例如 js、css 等
理想情况下,我们想要的是,我们所有的 js 文件都捆绑到一个文件中,类似地 css 文件也是如此。当我们 运行 时,webapp 浏览器将需要一个或可能很少的 js,而不是 100 个 js 文件。并且我们将要将哈希添加到捆绑的 js 的名称并设置一个长缓存到期时间。
我们走的是 webpack 的路线,但在捆绑文件方面面临很多问题。我们正在使用 yui、yowl js 库。当我们捆绑 js,创建 dist/bundle.js 并更新我们的 jsp 以使用 bundle.js 时,我们会看到一堆错误。
例如:类型错误:YAHOO.AjaxPanel 不是构造函数
仍在尝试了解 webpack,它确实添加了一堆模块,进行了缩小和压缩。他们是一种我们可以在没有 modularization/minification/compression 的情况下将多个 js 文件连接成一个文件的方法吗?我认为 webpack 正在转换成模块,而没有转换成模块,而且似乎可以满足我想要实现的目标。可能更适合现在的js框架吧
我正在研究如何使用 webpack 来实现这一点,如果可能的话?
编辑:
对于我试图为较旧的网络应用程序实现的目标,他们还有其他简单的方法吗?可能是使用 maven 的 concat js 文件?
使用 webpack-dev-server 调试 js 问题并解决了这些问题。
我们有一些基于 struts mvc 的旧 java 网络应用程序,我们正在使用 Maven 进行构建。我们正在研究捆绑静态内容的方法,例如 js、css 等
理想情况下,我们想要的是,我们所有的 js 文件都捆绑到一个文件中,类似地 css 文件也是如此。当我们 运行 时,webapp 浏览器将需要一个或可能很少的 js,而不是 100 个 js 文件。并且我们将要将哈希添加到捆绑的 js 的名称并设置一个长缓存到期时间。
我们走的是 webpack 的路线,但在捆绑文件方面面临很多问题。我们正在使用 yui、yowl js 库。当我们捆绑 js,创建 dist/bundle.js 并更新我们的 jsp 以使用 bundle.js 时,我们会看到一堆错误。
例如:类型错误:YAHOO.AjaxPanel 不是构造函数
仍在尝试了解 webpack,它确实添加了一堆模块,进行了缩小和压缩。他们是一种我们可以在没有 modularization/minification/compression 的情况下将多个 js 文件连接成一个文件的方法吗?我认为 webpack 正在转换成模块,而没有转换成模块,而且似乎可以满足我想要实现的目标。可能更适合现在的js框架吧
我正在研究如何使用 webpack 来实现这一点,如果可能的话?
编辑: 对于我试图为较旧的网络应用程序实现的目标,他们还有其他简单的方法吗?可能是使用 maven 的 concat js 文件?
使用 webpack-dev-server 调试 js 问题并解决了这些问题。