zoukankan      html  css  js  c++  java
  • 一个webpack,react,less,es6的DEMO

    1.package.json如下

    {
      "name": "demo",
      "version": "1.0.0",
      "description": "一个简单的示例",
      "main": "index.js",
      "dependencies": {
        "babel-core": "^5.8.25",
        "babel-loader": "^5.3.2",
        "style-loader": "^0.13.0",
        "css-loader": "^0.23.0",
        "less": "^2.5.3",
        "less-loader": "^2.2.2",
        "react": ">=0.14.2",
        "react-dom": ">=0.14.2"
      },
      "author": "sam wu",
      "license": "ISC"
    }
    
    

    为什么不用babel6.2呢?原因是它插件机制虽好,但是打包太慢了。
    所以用回babel5.8,速度可以。
    关于^符号就不说了吧。
    ^1.2.3 >=1.2.3 < 2.0.0
    ^0.2.3 >=0.2.3 < 0.3.0
    ^0.0.3 >=0.0.3 < 0.0.4
    ^1.2.3-beta.2 >=1.2.3-beta.2 < 2.0.0
    webpack-dev-server 1.11版本有路径超长问题,超过windows的256字符限制。无法使用,无法删除。
    用cygwin32,rm-rf命令删除吧。

    2.webpack.config.js

    var webpack = require('webpack');
    module.exports = {
        entry: [
          "./index.js"
        ],
        output: {
            path: './build',
            filename: "bundle.js"
        },
        module: {
            loaders: [
                { test: /.js$/, loaders: ["babel"], exclude: /node_modules/ },
                {
                    test: /.less$/,
                    loader: "style!css!less"
                }
            ]
        }
    };
    

    less-loader还得依赖css-loader,css-loader还得依赖style-loader。
    exclude嘛,就是忽略这个目录打包。

    3.index.js

    import './index.less';
    let React = require('react');
    let ReactDOM = require('react-dom');
    
    let World = React.createClass({
    	render(){
    		return (
    			<span>World is beautiful!Yes...!</span>
    		)
    	}
    })
    
    let Hello = React.createClass({
    	render(){
    		return(
    			<div>
    				<h1>Hello,boy!</h1>
    				<World />
    			</div>
    		)
    	}
    })
    
    ReactDOM.render(
      <Hello />, 
      document.getElementById("test")
    );
    

    4.index.less

    body{
    	#test{
    		 300px;
    		height: 200px;
    		border: 1px solid #ddd;
    		color: blue; 
    	}
    }
    

    5.index.html

    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="UTF-8">
    	<title>hello boy</title>
    </head>
    <body>
    	<div id="test"></div>
    </body>
    <script type="text/javascript" src="./build/bundle.js"></script>
    </html>
    

    6.执行打包

    webpack -w
    监听文件变化,实时打包
    webpack -d
    提供SourceMaps,方便调试

  • 相关阅读:
    MKMapVIew学习系列2 在地图上绘制出你运行的轨迹
    WPF SDK研究 Intro(6) WordGame1
    WPF SDK研究 Intro(3) QuickStart3
    WPF SDK研究 Layout(1) Grid
    WPF SDK研究 目录 前言
    WPF SDK研究 Intro(7) WordGame2
    WPF SDK研究 Layout(2) GridComplex
    对vs2005创建的WPF模板分析
    WPF SDK研究 Intro(4) QuickStart4
    《Programming WPF》翻译 第6章 资源
  • 原文地址:https://www.cnblogs.com/samwu/p/5003809.html
Copyright © 2011-2022 走看看