前端四react+redux脚手架搭建

  • 格式:docx
  • 大小:47.68 KB
  • 文档页数:9

1

初始化项目

基于nodejs

cd D:\code_fe\test

cnpm init

新建index.html

expres

nodejs web framework web框架

/zh-cn/

cnpm install express --save-dev

新建server.js

var app = new (require('express'))()

var port = 9100

app.get("/", (req, res) => {

res.sendFile(__dirname + '/index.html')

})

app.listen(port, error => {

if (error) {

console.error(error)

} else {

("Open up http://localhost:%s/ in your browser.", port)

}

})

react_redux

2

node server.js

package.json增加start命令

babel

Babel is a JavaScript compiler.将babel语法编译成普通es2015(es6)

https://babeljs.io/

cnpm install babel-core babel-loader babel-preset-es2015 babel-preset-react

babel-preset-react-hmre --save-dev

新建.babelrc

增加配置内容

webpack

webpack the flexible module bundler

https://webpack.github.io/

cnpm install webpack webpack-dev-middleware webpack-hot-middleware --save-dev

新建webpack.config.js

新建index.js var path = require('path')

varwebpack = require('webpack')

module.exports = {

devtool: 'cheap-module-eval-source-map',

entry: [

'webpack-hot-middleware/client',

'./index'

],

output: {

path: path.join(__dirname, 'dist'),

filename: 'bundle.js',

publicPath: '/static/'

},

plugins: [ {

"presets": ["es2015", "react"],

"env": {

"development": {

"presets": ["react-hmre"]

}

}

} 3

修改server.js

修改index.html

命令行:打包:webpack

启动server:node server.js

react

中文教程:

/react/docs/getting-started.html

模块引入

cnpm install react react-dom --save

react_redux

varwebpack = require('webpack')

varwebpackDevMiddleware = require('webpack-dev-middleware')

varwebpackHotMiddleware = require('webpack-hot-middleware')

varconfig = require('./webpack.config')

var app = new (require('express'))()

var port = 9100

var compiler = webpack(config)

e(webpackDevMiddleware(compiler, { noInfo: true, publicPath:

config.output.publicPath }))

e(webpackHotMiddleware(compiler))

app.get("/", (req, res) => {

res.sendFile(__dirname + '/index.html')

})

app.listen(port, error => {

if (error) {

console.error(error)

} else {

("Open up http://localhost:%s/ in your browser.", port)

}

}) constrootEl = document.getElementById('root');

rootEl.innerText = "haha!" 4

修改index.html

命令行:打包:webpack

启动server:node server.js

react_redux

varwebpack = require('webpack')

varwebpackDevMiddleware = require('webpack-dev-middleware')

varwebpackHotMiddleware = require('webpack-hot-middleware')

varconfig = require('./webpack.config')

var app = new (require('express'))()

var port = 9100

var compiler = webpack(config)

e(webpackDevMiddleware(compiler, { noInfo: true, publicPath:

config.output.publicPath }))

e(webpackHotMiddleware(compiler))

app.get("/", (req, res) => {

res.sendFile(__dirname + '/index.html')

})

app.listen(port, error => {

if (error) {

console.error(error)

} else {

("Open up http://localhost:%s/ in your browser.", port)

}

}) 5

react

中文教程:

/react/docs/getting-started.html

模块引入

cnpm install react react-dom --save

开发react组件多种方式

1.简单的func方式

2.createClass方式

3.es6 class方式

创建components文件夹,创建Hello.js文件

渲染

ReactDOM.render

修改index.js

状态和属性

状态state可以改,属性props不可以改,

importReactDOM from 'react-dom'

import Hello from './components/Hello'

constrootEl = document.getElementById('root');

ReactDOM.render(

,

rootEl

) import React from 'react';

class Hello extends ponent {

constructor(props) {

super(props);

this.displayName = 'Hello';

}

render() {

return

}

}

export default Hello;