zoukankan      html  css  js  c++  java
  • 使用Yarn+Webpack+Babel6搭建React.js环境

    使用Yarn+Webpack+Babel6搭建React.js环境

    Facebook开源的React.js已经改变了世人对前端UI的思考方式。这种基于组件方式的优势之一,就是使View更加的简单,因为React.js的View就是一个关于props和state的js function。同时,React.js是前端的模块化开发,更加简单和快捷,这也是极大诱惑。
    React.js的学习曲线,相对于其他的前端框架,还是先对平缓的,特别对于来自桌面的开发者。但围绕React.js的工具(Babel、Webpack、Yarn)和库还是有不少挑战。
    事实上,这些工具对于React.js开发来说不是必须的,但为了最大程度利用ES6和JSX的特性,他们还是十分有必要的。因此,这里会使用这些工具一步一步的搭建React的开发环境。
    这些仅仅是我学习React.js的一个记录。

    开始

    这里会使用Yarn,一个Facebook开源的Js包管理器,借鉴和改进了npm,并且和npm是兼容的。这里非常乐意推荐大家去尝试和使用Yarn。
    新建一个新的Project

    mkdir helloworld
    cd helloworld
    yarn init
    

    使用默认的配置

    安装和配置webpack

    Webpack是当下最为火热的前端资源模块化管理和打包工具。它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源。还可以将按需加载的模块进行代码分隔,等到实际需要的时候再异步加载。通过 loader 的转换,任何形式的资源都可以视作模块,比如 CommonJs 模块、 AMD 模块、 ES6 模块、CSS、图片、 JSON、Coffeescript、 LESS 等。
    使用Yarn安装webpack

    yarn add webpack
    

    新建一个webpack的配置文件:webpack.config.js

    touch webpack.config.js
    

    并使用一下内容更新webpack.config.js

    var webpack = require('webpack')
        //import webpack from 'webpack'
    
    module.exports = {
        devtool: 'eval',
        entry: [
            './index.js'
        ],
        output: {
            path: __dirname,
            filename: 'bundle.js'
        }
    }
    

    新建一个index.js文件

    document.write("Hello world react")
    

    新建一个index.html文件

    <html>
      <head>
        <meta charset="utf-8">
        <title>React.js using NPM, Babel6 and Webpack</title>
      </head>
      <body>
        <div id="app" />
        <script src="bundle.js" type="text/javascript"></script>
      </body>
    </html>
    

    编译index.js并打包到bundle.js

    $ yarn run webpack index.js bundle.js
    

    打包过程显示日志:

    Hash: 8b231dfafb36fcecaafd
    Version: webpack 2.13.3
    Time: 86ms
        Asset     Size  Chunks             Chunk Names
    bundle.js  1.42 kB       0  [emitted]  main
       [0] ./index.js 28 bytes {0} [built]
    Done in 0.67s.
    

    在浏览器中打开index.html

    添加loader

    使用hot loader热替换

    添加Chrome React.js调试插件

    未完待续

  • 相关阅读:
    307. Range Sum Query
    OLI 课程 & Java入学考试的五道题
    745. Prefix and Suffix Search 查找最大index的单词
    38.Count and Say 报数
    721. Accounts Merge合并电子邮件账户
    265. Paint House II 房子涂色K种选择的版本
    【转】如何做人性化的代码审查?从高到低、用例子
    java之struts2之文件下载
    java之struts2之文件上传
    java之struts2之拦截器
  • 原文地址:https://www.cnblogs.com/xiwang/p/6048950.html
Copyright © 2011-2022 走看看