webpack小栗子

作者: 肆意木 | 来源:发表于2017-05-07 21:51 被阅读47次

    <h2>概念</h2>
    Webpack 是一个模块打包器。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。
    <h2>优势</h2>

    1. webpack 是以 commonJS 的形式来书写脚本,但对 AMD/CMD 的支持也很全面,方便旧项目进行代码迁移。
    2. 能被模块化的不仅仅是 JS 了。
    3. 开发便捷,能替代部分 grunt/gulp 的工作,比如打包、压缩混淆、图片转base64等。
      4.有很多插件和loader
      5.可以将codebase变为chunk首屏优化
      6.可以和webwork和nodejs混用

    <h2>举个栗子</h2>
    <h4>1.单入口文件</h4>
    1.建一个空白项目,目录如下图:


    目录.png

    2.index.html代码:

    <html>
      <body>
        <script type="text/javascript" src="bundle.js"></script>
      </body>
    </html>
    

    3.main.js代码:

    document.write('<h1>Hello World01111</h1>');
    

    4.webpack.config.js代码:

    module.exports = {
      entry: './main.js',
      output: {
        filename: 'bundle.js'
      }
    };
    

    5.package.json代码:

    {
      "name": "test",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "author": "",
      "license": "ISC",
      "devDependencies": {
        "babel-loader": "^6.4.1",
        "babel-preset-env": "^1.3.3",
        "babel-preset-es2015": "^6.24.1",
        "babel-preset-react": "^6.24.1",
        "css-loader": "^0.28.0",
        "file-loader": "^0.11.1",
        "html-webpack-plugin": "^2.28.0",
        "open-browser-webpack-plugin": "0.0.5",
        "style-loader": "^0.16.1",
        "url-loader": "^0.5.8",
        "webpack": "^1.14.0"
      }
    }
    

    6.执行npm install加载依赖。
    7.运行webpack-dev-server:

    sussed.png

    8.运行成功后,浏览器访问:localhost:8080

    hello.png

    <h6>以上就是一个简单的webpack项目,下面是代码解释:</h6>

    module.exports = {
      entry: './main.js',
      output: {
        filename: 'bundle.js'
      }
    };
    

    entry是页面入口文件配置,output是对应的出口文件。可以看到在页面生成了bundle.js文件。

    bundle.png

    相关文章

      网友评论

        本文标题:webpack小栗子

        本文链接:https://www.haomeiwen.com/subject/pejptxtx.html