react + webpack安裝配置

使用CDN庫方式

  • <script src="http://static.runoob.com/assets/react/react-0.14.7/build/react.min.js"></script>
  • <script src="http://static.runoob.com/assets/react/react-0.14.7/build/react-dom.min.js"></script>
  • <script src="http://static.runoob.com/assets/react/browser.min.js"></script>
  1. react.min.js React核心庫
  2. react-dom.min.js 提供DOM相關的功能
  3. browser.min.js 用於將JSX語法轉爲javascript語法
<!DOCTYPE html>
	<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Document</title>
		<script src="http://static.runoob.com/assets/react/react-0.14.7/build/react.min.js"></script>
	    <script src="http://static.runoob.com/assets/react/react-0.14.7/build/react-dom.min.js"></script>
	    <script src="http://static.runoob.com/assets/react/browser.min.js"></script>
	</head>
	<body>
		<div id="app"></div>
		<script type="text/babel">
			ReactDOM.render(
				<h1>hello world</h1>,
				document.getElementById('app')
			);
		</script>
	</body>
	</html>

使用腳手架方式

咱們使用webpack做爲腳手架javascript

首先新建目錄test,進入test目錄html

安裝webpack

  • npm init
  • npm install
  • npm install webpack
  • npm install webpack-dev-server --save-dev

安裝react

  • npm install react --save
  • npm install react-dom --save

安裝一些babel插件

  • npm install babel
  • npm install babel-core
  • npm install babel-loader
  • npm install babel-preset-react
  • npm install babel-preset-es2015

建立一些必須的文件

  • touch index.html
  • touch App.jsx
  • touch main.js
  • touch webpack.config.js

配置webpack設置編譯器、服務器、載入器

var path = require('path')
var webpack = require('webpack')

module.exports = {
   entry: './main.js',

   output: {
      path:'./',
      filename: 'index.js',
   },

   devServer: {
      inline: true,
      port: 7777
   },

   module: {
      loaders: [ {
         test: /\.jsx?$/,
         exclude: /node_modules/,
         loader: 'babel-loader',           
         query: {
            presets: ['es2015', 'react']
         }
      }]
   },

   plugins: [
      new webpack.DefinePlugin({
        'process.env': {
          NODE_ENV: JSON.stringify('production')
        }
      }),
      new webpack.optimize.UglifyJsPlugin()
  ]

}

根目錄新建index.html

<!DOCTYPE html>
<html>
   <head>
      <meta charset="UTF-8">
      <title>hello</title>
   </head>
   <body>
      <div id="app"></div>
      <script src="index.js"></script>
   </body>
</html>

根目錄新建mian.js

import React from 'react';
import ReactDOM from 'react-dom';

import App from './App.jsx';

ReactDOM.render(<App />, document.getElementById('app'))

根目錄新建App.jsx

import React from 'react';

class App extends React.Component {
   render() {
      return (
         <div>
            Hello World!!!<br />
            你好世界!!!
         </div>
      );
   }
}

export default App;

配置服務

打開package.json 找到scripts節點,插入java

"scripts": {
    "start": "webpack-dev-server --hot",
    "build": "webpack --progress --hide-modules"
 },

啓動服務

npm startnode

相關文章
相關標籤/搜索