当前位置: 首页 > 知识库问答 >
问题:

Webpack bundle.js更改在不重新启动服务器的情况下不会在Spring应用程序中显示?

范翰飞
2023-03-14

应用程序以开始。/mvnw spring-boot:run,我有一个NPM脚本“watch”:“webpack--watch-d”,它运行以下配置

var path = require('path');

module.exports = {
    entry: './src/main/js/app.js',
    devtool: 'sourcemaps',
    cache: true,
    mode: 'development',
    output: {
        path: __dirname,
        filename: './src/main/resources/static/built/bundle.js'
    },
    module: {
        rules: [
            {
                test: path.join(__dirname, '.'),
                exclude: /(node_modules)/,
                use: [{
                    loader: 'babel-loader',
                    options: {
                        presets: ["@babel/preset-env", "@babel/preset-react"]
                    }
                }]
            }
        ]
    }
};

app.js按预期编译为bundle.js,但是如果不使用./mvnw spring-boot:run重新启动服务器,刷新页面时看不到更改。

我可能遗漏了一些东西,也许spring-boot使用的不是我的bundle.js文件而是某种副本?

共有1个答案

皮承基
2023-03-14

我可以猜测嵌入式tomcat不会热重加载静态文件。您可以使用Spring MVC和Boot尝试其中一些令人耳目一新的静态内容

但也将分享我的解决方案,这是使用webpack-dev-server热重新加载和一般的web开发。

const path = require('path');
...
devServer: {
    contentBase: path.join(__dirname, 'src'),
    publicPath: '/build',
    port: 8000,
    proxy: {
        "**": "http://localhost:8080"
    }
},

然后运行webpack-dev-server命令来运行它。它在飞行中编译你的应用程序,你的变化会立即反映出来,一定要试试看。

 类似资料:
  • 我们使用的是Spring Boot 2.3.4 我们有一些只需要应用程序的单元测试。要加载的属性(包括其所有配置文件管理aso)。在不启动完整的Spring Boot服务器的情况下可以做到这一点吗? 编辑: 我尝试了@SpringBootTest注释,但它总是启动整个服务器,因为我引用了@SpringBootApplication类(或者它是自动引用的)。实际上,您不需要所有其他注释,比如@Con

  • 我正在编程服务,从数据库中获取数据,并通过REST服务提供这些数据。它使用spring mvc。我的数据库连接配置在属性文件中,在上下文初始化期间,spring将其作为数据源bean从中加载。 现在我的问题是-我想更改属性文件中的配置(例如更改数据库信息),但我无法重新启动应用程序服务器,因此无法加载新配置。 如何重新初始化Spring上下文或一些特定的bean,以便使用新定义的属性?

  • 我是新来的jboss服务器。我有jboss 4.2.3服务器。我在单个服务器上有很多应用程序。我需要在不重启jboss服务器的情况下部署我的应用程序。有可能吗?如果是这样,有哪些选择? 提前谢谢!!

  • 我正在尝试将Spring Boot应用程序作为WAR部署到tomcat服务器。我可以很好地构建war并将其部署到tomcat服务器。但是,当我启动服务器时,我的spring应用程序从未运行。服务器启动得很好。Spring要我做的我都做了, http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-creat

  • 我们正在使用JBoss Enterprise Application Platform server(即JBoss EAP 6.1)来开发使用Logback进行日志记录的新web应用程序。我们已经使用JBoss EAP好几个月了,一切都很好。此外,正如您所知,您可以在运行时在JBOSS上部署和取消部署应用程序和配置文件(如mail service.xml),也就是说,无需重新启动服务器。 但是,如

  • 如何在sonarqube中添加注册新规则而不重新启动服务器。我在一个质量配置文件中有50条规则,在分析时使用violation.xml,它包含的新规则没有在声纳数据库中注册,所以在分析时,我需要检查声纳数据库,如果规则不可用,它需要添加到声纳数据库中,分析应该继续。如何在不重新启动服务器的情况下添加规则?请帮忙谢谢。