webpack小栗子

概念


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

优势

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

举个栗子


1.单入口文件


1.建一个空白项目,目录如下图:


webpack小栗子_第1张图片
目录.png

2.index.html代码:


  
    
  

3.main.js代码:

document.write('

Hello World01111

');

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:

webpack小栗子_第2张图片
sussed.png

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

hello.png

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

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

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

webpack小栗子_第3张图片
bundle.png

你可能感兴趣的:(webpack小栗子)