Web前端世界日新月异变化太快,为了让自己跟上节奏不掉队,总结出了自己的一套React脚手架,方便日后新项目可以基于此快速上手开发。
Github: https://github.com/54sword/react-starter
特点没有在windows机器上测试过,可能会报错
$ git clone git@github.com:54sword/react-starter.git
$ cd react-starter
$ npm install
$ npm run dev
浏览器打开 http://localhost:4000
相关命令说明开发环境
注意:开发环境下,代码不分片,生产环境下才会分片
npm run dev
生产环境测试
npm run dist部署到服务器
npm run server
1、修改 config/index.js 中的 public_path 配置
2、打包文件,除了index.ejs是服务端渲染的模版文件,其他都是客户端使用的文件
npm run dist
3、将项目上传至你的服务器
4、启动服务
Node 启动服务
NODE_ENV=production __NODE__=true BABEL_ENV=server node src/server
或使用 pm2 启动服务
NODE_ENV=production __NODE__=true BABEL_ENV=server pm2 start src/server --name "react-starter" --max-memory-restart 400M目录结构
.
├── config # 项目配置文件
├── dist # 所有打包文件储存在这里
├── src # 程序源文件
│ ├── actions # redux actions
│ ├── client # 客户端入口
│ ├── common # 全局可复用的容器组件
│ ├── components # 全局可复用的容器组件
│ ├── pages # 页面组件
│ ├── reducers # redux reducers
│ ├── router # 路由配置
│ ├── server # 服务端入口
│ ├── store # redux store
│ └── view # html模版文件
├── .babelrc # 程序源文件
├── webpack.development.config.js # 开发环境的webpack配置项
└── webpack.profuction.config.js # 生产环境的wbepakc配置项
我是来学习的。
一个网络社区,我也不知道主要干什么,随其自然生长吧。以后会改成什么样我...我现在也不知道。
目前主要是分享了一些,自己在实现该网站时候的一些技术和代码。
牛逼 这个网站也是ssr吗
/mnt/e/group/react-starter/node_modules/webpack-dev-middleware/lib/context.js:95
context.compiler.hooks.invalid.tap('WebpackDevMiddleware', invalid);
^
TypeError: Cannot read property 'invalid' of undefined
at ctx (/mnt/e/group/react-starter/node_modules/webpack-dev-middleware/lib/context.js:95:26)
at wdm (/mnt/e/group/react-starter/node_modules/webpack-dev-middleware/index.js:44:19)
at exports.default (/mnt/e/group/react-starter/src/server/webpack-hot-middleware.js:9:11)
at Object.<anonymous> (/mnt/e/group/react-starter/src/server/server.js:34:45)
at Module._compile (module.js:660:30)
at loader (/mnt/e/group/react-starter/node_modules/babel-register/lib/node.js:144:5)
at Object.require.extensions.(anonymous function) [as .js] (/mnt/e/group/react-starter/node_modules/babel-register/lib/node.js:154:7)
at Module.load (module.js:573:32)
at tryModuleLoad (module.js:513:12)
at Function.Module._load (module.js:505:3)
at Module.require (module.js:604:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/mnt/e/group/react-starter/src/server/index.js:11:1)
at Module._compile (module.js:660:30)
at Object.Module._extensions..js (module.js:671:10)
at Module.load (module.js:573:32)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! react-starter@1.0.0 dev: `NODE_ENV=development __NODE__=false BABEL_ENV=server webpack --progress --colors --config webpack.development.config.js && NODE_ENV=development __NODE__=true BABEL_ENV=server node src/server `
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the react-starter@1.0.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2018-03-13T07_12_09_101Z-debug.log
报错了,没跑起来
npm run dev
node v9.4.0
0 info it worked if it ends with ok
1 verbose cli [ '/root/nodejs/bin/node', '/usr/local/bin/npm', 'run', 'dev' ]
2 info using npm@5.6.0
3 info using node@v9.4.0
4 verbose run-script [ 'predev', 'dev', 'postdev' ]
5 info lifecycle react-starter@1.0.0~predev: react-starter@1.0.0
6 info lifecycle react-starter@1.0.0~dev: react-starter@1.0.0
7 verbose lifecycle react-starter@1.0.0~dev: unsafe-perm in lifecycle true
8 verbose lifecycle react-starter@1.0.0~dev: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/mnt/e/group/react-starter/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/ProgramData/Oracle/Java/javapath_target_2337506765:/mnt/c/Python27:/mnt/c/Python27/Scripts:/mnt/c/Windows/System32:/mnt/c/Windows:/mnt/c/Windows/System32/wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0:/mnt/c/dev/nvm:/mnt/c/dev/nvm/v6.11.0:/mnt/c/Program Files/Microsoft VS Code/bin:/mnt/c/Users/admin/AppData/Roaming/npm:/mnt/c/Windows/System32:/mnt/c/Windows:/mnt/c/Windows/System32/wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files/nodejs:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files (x86)/Microsoft Emulator Manager/1.0:/mnt/c/Users/admin/.nvmw:/mnt/c/Users/admin/AppData/Local/Microsoft/WindowsApps
9 verbose lifecycle react-starter@1.0.0~dev: CWD: /mnt/e/group/react-starter
10 silly lifecycle react-starter@1.0.0~dev: Args: [ '-c',
10 silly lifecycle 'NODE_ENV=development __NODE__=false BABEL_ENV=server webpack --progress --colors --config webpack.development.config.js && NODE_ENV=development __NODE__=true BABEL_ENV=server node src/server ' ]
11 silly lifecycle react-starter@1.0.0~dev: Returned: code: 1 signal: null
12 info lifecycle react-starter@1.0.0~dev: Failed to exec dev script
13 verbose stack Error: react-starter@1.0.0 dev: `NODE_ENV=development __NODE__=false BABEL_ENV=server webpack --progress --colors --config webpack.development.config.js && NODE_ENV=development __NODE__=true BABEL_ENV=server node src/server `
13 verbose stack Exit status 1
13 verbose stack at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:285:16)
13 verbose stack at EventEmitter.emit (events.js:160:13)
13 verbose stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack at ChildProcess.emit (events.js:160:13)
13 verbose stack at maybeClose (internal/child_process.js:943:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:220:5)
14 verbose pkgid react-starter@1.0.0
15 verbose cwd /mnt/e/group/react-starter
16 verbose Linux 4.4.0-43-Microsoft
17 verbose argv "/root/nodejs/bin/node" "/usr/local/bin/npm" "run" "dev"
18 verbose node v9.4.0
19 verbose npm v5.6.0
20 error code ELIFECYCLE
21 error errno 1
22 error react-starter@1.0.0 dev: `NODE_ENV=development __NODE__=false BABEL_ENV=server webpack --progress --colors --config webpack.development.config.js && NODE_ENV=development __NODE__=true BABEL_ENV=server node src/server `
22 error Exit status 1
23 error Failed at the react-starter@1.0.0 dev script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
报错日志
windows环境我没有测试过,估计是会有很多问题。
主要是我没有windows的电脑...
刚刚我使用webpack 3.11.0,也是正常运行,
从错误上看,是webpack-dev-middleware依赖这里有问题。