Reactjs 服务器端呈现的应用程序,带有';开始

Reactjs 服务器端呈现的应用程序,带有';开始,reactjs,express,webpack,server-side-rendering,package.json,Reactjs,Express,Webpack,Server Side Rendering,Package.json,我对这个概念有点陌生,所以,如果我的问题听起来很愚蠢或离题,对不起 这是我的webpackconfig const path = require('path'); module.exports = { // inform webpack that we're building a bundle // for nodeJS, rather than for the browser target: 'node', // Tell webpack the root

我对这个概念有点陌生,所以,如果我的问题听起来很愚蠢或离题,对不起

这是我的
webpack
config

const path = require('path');

module.exports = {
    // inform webpack that we're building a bundle
    // for nodeJS, rather than for the browser
    target: 'node',

    // Tell webpack the root file of our server application
    entry: "./src/index.js",


    // Tell webpack where to put the output file that is generated
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'build')
    },

    // Tell webpack to run babel on every file it runs through
    module: {
        rules: [
            {
                test: /\.js?$/,
                loader: 'babel-loader',
                exclude: /node_modules/,
                options: {
                    presets: [
                        'react',
                        'stage-0',
                        ['env', {
                            targets: {
                                browsers: ['last 2 versions']
                            }
                        }]
                    ]
                }

            }

        ]
    }

};
这是我的
包.json

{
    "name": "react-ssr",
    "version": "1.0.0",
    "description": "Server side rendering project",
    "main": "index.js",
    "scripts": {
        "dev:server": "nodemon --watch build --exec \"node build/bundle.js\"",
        "dev:build:server": "webpack --confing webpack.server.js --watch"
    },
    "author": "",
    "license": "ISC",
    "dependencies": {
        "axios": "0.16.2",
        "babel-cli": "6.26.0",
        "babel-core": "6.26.0",
        "babel-loader": "7.1.2",
        "babel-preset-env": "1.6.0",
        "babel-preset-es2015": "6.24.1",
        "babel-preset-es2017": "6.24.1",
        "babel-preset-react": "6.24.1",
        "babel-preset-stage-0": "6.24.1",
        "compression": "1.7.0",
        "concurrently": "3.5.0",
        "express": "4.15.4",
        "express-http-proxy": "1.0.6",
        "lodash": "4.17.4",
        "nodemon": "1.12.0",
        "npm-run-all": "4.1.1",
        "react": "16.0.0",
        "react-dom": "16.0.0",
        "react-helmet": "5.2.0",
        "react-redux": "5.0.6",
        "react-router-config": "1.0.0-beta.4",
        "react-router-dom": "4.2.2",
        "redux": "3.7.2",
        "redux-thunk": "2.2.0",
        "serialize-javascript": "1.4.0",
        "webpack": "3.5.6",
        "webpack-dev-server": "2.8.2",
        "webpack-merge": "4.1.0",
        "webpack-node-externals": "1.6.0"
    }
}
但每当我尝试命令
npm run dev:server
时,我都会遇到以下错误,我似乎不知道问题出在哪里:

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'dev:server'
1 verbose cli ]
2 info using npm@6.13.4
3 info using node@v12.14.1
4 verbose run-script [ 'predev:server', 'dev:server', 'postdev:server' ]
5 info lifecycle react-ssr@1.0.0~predev:server: react-ssr@1.0.0
6 info lifecycle react-ssr@1.0.0~dev:server: react-ssr@1.0.0
7 verbose lifecycle react-ssr@1.0.0~dev:server: unsafe-perm in lifecycle true
8 verbose lifecycle react-ssr@1.0.0~dev:server: PATH: C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\Users\Ali\Desktop\Server\node_modules\.bin;C:\Users\Ali\AppData\Roaming\npm;C:\Program Files\nodejs\
9 verbose lifecycle react-ssr@1.0.0~dev:server: CWD: C:\Users\Ali\Desktop\Server
10 silly lifecycle react-ssr@1.0.0~dev:server: Args: [ '/d /s /c', 'nodemon --watch build --exec "node build/bundle.js"' ]
11 silly lifecycle react-ssr@1.0.0~dev:server: Returned: code: 1  signal: null
12 info lifecycle react-ssr@1.0.0~dev:server: Failed to exec dev:server script
13 verbose stack Error: react-ssr@1.0.0 dev:server: `nodemon --watch build --exec "node build/bundle.js"`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:223:5)
13 verbose stack     at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:223:5)
13 verbose stack     at maybeClose (internal/child_process.js:1021:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
14 verbose pkgid react-ssr@1.0.0
15 verbose cwd C:\Users\Ali\Desktop\Server
16 verbose Windows_NT 6.1.7601
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "dev:server"
18 verbose node v12.14.1
19 verbose npm  v6.13.4
20 error code ELIFECYCLE
21 error errno 1
22 error react-ssr@1.0.0 dev:server: `nodemon --watch build --exec "node build/bundle.js"`
22 error Exit status 1
23 error Failed at the react-ssr@1.0.0 dev:server script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
0信息如果它以ok结尾,它就工作了
1详细cli[
1详细cli'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli'C:\\Program Files\\nodejs\\node\u modules\\npm\\bin\\npm cli.js',
1详细cli“运行”,
1详细cli“dev:server”
1详细cli]
2信息使用npm@6.13.4
3信息使用node@v12.14.1
4详细运行脚本['predev:server'、'dev:server'、'postdev:server']
5信息生命周期反应-ssr@1.0.0~predev:服务器:反应-ssr@1.0.0
6信息生命周期反应-ssr@1.0.0~dev:server:react-ssr@1.0.0
7详细的生命周期反应-ssr@1.0.0~dev:server:生命周期中的不安全perm为true
8详细的生命周期反应-ssr@1.0.0~dev:server:PATH:C:\Program Files\nodejs\node\u modules\npm\node\u modules\npm lifecycle\node gyp bin;C:\Users\Ali\Desktop\Server\node\u modules\.bin;C:\Users\Ali\AppData\Roaming\npm;C:\Program Files\nodejs\
9详细的生命周期反应-ssr@1.0.0~dev:server:CWD:C:\Users\Ali\Desktop\server
10.作出反应-ssr@1.0.0~dev:server:Args:['/d/s/c','nodemon--watchbuild--exec“node build/bundle.js”]
11.作出反应-ssr@1.0.0~dev:server:Returned:code:1信号:null
12信息生命周期反应-ssr@1.0.0~dev:server:无法执行dev:server脚本
13详细堆栈错误:react-ssr@1.0.0dev:server:`nodemon--watchbuild--exec“node build/bundle.js”`
13详细堆栈退出状态1
13 EventEmitter上的详细堆栈。(C:\Program Files\nodejs\node\u modules\npm\node\u modules\npm lifecycle\index.js:332:16)
13 EventEmitter.emit上的详细堆栈(events.js:223:5)
13子进程上的详细堆栈。(C:\Program Files\nodejs\node\U modules\npm\node\U modules\npm lifecycle\lib\spawn.js:55:14)
13 ChildProcess.emit上的详细堆栈(events.js:223:5)
13 maybeClose的详细堆栈(internal/child_process.js:1021:16)
13 Process.ChildProcess.\u handle.onexit处的详细堆栈(internal/child\u Process.js:283:5)
14详细的pkgid反应-ssr@1.0.0
15详细cwd C:\Users\Ali\Desktop\Server
16详细窗口\u NT 6.1.7601
17详细argv“C:\\Program Files\\nodejs\\node.exe”“C:\\Program Files\\nodejs\\node\U模块\\npm\\bin\\npm cli.js”“运行”“开发:服务器”
18详细节点v12.14.1
19详细的npm v6.13.4
20错误代码ELIFECYCLE
21错误1
22错误反应-ssr@1.0.0dev:server:`nodemon--watchbuild--exec“node build/bundle.js”`
22错误退出状态1
23在react时出错-ssr@1.0.0dev:服务器脚本。
23错误这可能不是npm的问题。上面可能还有其他日志输出。
24详细退出[1,true]

您是否考虑过将React应用程序包装到React SSR框架中,如Gatsby或NextJs?您还可以跳过应用程序重构,使用以下方法实现它们:

它是一个预配置的模板,用于开发带有HMR支持的React SSR应用程序,专门优化了HMR支持,以加快您的开发工作流程。它包括前端和后端的开放网页包配置、ready express应用程序、linter、SCSS支持以及用于管理构建和应用程序行为的配置文件


您只需将应用程序包装器放入/common文件夹。之后,您可以将server.js和静态资源部署到目标机器中并运行它。

您是否考虑过将React应用程序包装到React SSR框架中,如Gatsby或NextJs?您还可以跳过应用程序重构,使用以下方法实现它们:

它是一个预配置的模板,用于开发带有HMR支持的React SSR应用程序,专门优化了HMR支持,以加快您的开发工作流程。它包括前端和后端的开放网页包配置、ready express应用程序、linter、SCSS支持以及用于管理构建和应用程序行为的配置文件

您只需将应用程序包装器放入/common文件夹。之后,您可以将server.js和静态资源部署到目标机器中并运行它