如何将 ReactJS 与 Spring Boot 集成

IT技术 java spring maven reactjs spring-boot
2021-05-04 17:24:02

我想将ReactJSSpring-bootmaven集成但我不知道如何。

我可以使用 npm 来安装它,但我不知道我会在哪条路径上安装。

npm init
npm install --save react react-dom
2个回答

请参阅前端 Maven 插件

您应该将这样的内容添加到 pom.xml 文件中

<plugin>
    <groupId>com.github.eirslett</groupId>
    <artifactId>frontend-maven-plugin</artifactId>
    <version>1.2</version>
    <configuration>
        <installDirectory>target</installDirectory>
    </configuration>
    <executions>
        <execution>
            <id>install node and npm</id>
            <goals>
                <goal>install-node-and-npm</goal>
            </goals>
            <configuration>
                <nodeVersion>v4.4.5</nodeVersion>
                <npmVersion>3.9.2</npmVersion>
            </configuration>
        </execution>
        <execution>
            <id>npm install</id>
            <goals>
                <goal>npm</goal>
            </goals>
            <configuration>
                <arguments>install</arguments>
            </configuration>
        </execution>
        <execution>
            <id>webpack build</id>
            <goals>
                <goal>webpack</goal>
            </goals>
        </execution>
    </executions>
</plugin>

应该有 webpack.config.js 和 package.json 以及 pom.xml 和 webpack 是这样的

var path = require('path');
var webpack = require('webpack');
var packageJSON = require('./package.json');

module.exports = {
    entry: [
              'webpack/hot/only-dev-server',
              './src/main/resources/static/App.js'],
    devtool: 'sourcemaps',
    cache: true,
//    debug: true,
    output: {
        path: __dirname,
        filename: './src/main/resources/static/built/bundle.js',
        publicPath: 'http://localhost:8080/yourServletContextHere'
    },
    resolve: {extensions: ['.js', '.jsx']},
    plugins: [
               new webpack.HotModuleReplacementPlugin()
               ,new webpack.LoaderOptionsPlugin({
                     debug: true
                   })
        ],
    module: {
        loaders: [
            {
                test: path.join(__dirname, '.'),
                exclude: /(node_modules)/,
                loader: 'babel-loader',
                query: {
                    cacheDirectory: true,
                    presets: ['es2015', 'react']
                }
            },

        ]
    },
    devServer: {
            noInfo: false,
            quiet: false,
            lazy: false,
            watchOptions: {
                poll: true
           }
        }
};

看看这个存储库,它来自Spring。这里的项目使用React+SpringBoot+WebpackV1

https://github.com/spring-guides/tut-react-and-spring-data-rest

这是上述存储库的实际教程,请仔细阅读它的详细解释。 https://spring.io/guides/tutorials/react-and-spring-data-rest/