码迷,mamicode.com
首页 > Web开发 > 详细

webpack

时间:2018-02-02 17:09:50      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:turn   并且   rom   pat   流程   try   ##   工具   mon   

2.webpack(基于node开发出来)

1. webpack是一个打包工具
2. webpack相对于gulp, grunt等工具更进一步(会基于配置项自动构建项目)
3. webpack学习曲线更加陡峭

3.webpack的能力

1. webpack可以打包文件
2. webpack插件提供的额外功能(项目自动部署上线, 清空目录)
3. Hot Module Reload(react中的html)

4.webpack中的module和打包流程

webpack是建立在module之上进行打包的

1. 把index.js发送到webpack中解析, 找到后缀(loaders决定怎么编译)
2. babel-loader是用来把es6转为es5(还有其他功能)
3. 结合所有文件生成app.js上线
4. Split point(分割文件, 拆分app.js)
Enty: 入口文件
Plugins: 插件(某个生命周期, 某个位置会执行)
loaders: 编译
output: 项目生成后放置位置
Split point: 拆分

5.webpack中的配置文件

* webpack.config.js决定了打包的规则
* webpack遵循commonJS规范(require引入, module.exports导出)
* 在webpack中loader使用是从右至左, 从下至上——> use: [‘style-loader‘, ‘css-loader‘]
* resolve配置默认执行的文件后缀

6.webpack的最基础使用

1. 安装node.js和npm 
2. 安装webpack模块(npm install webpack -g)
3. 执行webpack命令(webpack index.js bundle.js)

打包案例

### header.js
module.exports = function() {
    console.log("header")
}

### index.js
const header = require(‘./header.js‘)
console.log(header());
console.log("index content")

7.webpack使用配置文件打包项目

案例

1. 创建一个app的文件夹, 下面有index.js和header.js
2. 根目录创建一个webpack.config.js

### header.js
export default (text = "hello webpack") => {
    const element = document.createElement("div");
    element.innerHTML = text;
    return element;
}

### index.js
import header from ‘./header.js‘
document.body.appendChild(header());

### webpack.config.js
const path = require("path");  

const PATH = {
    app: path.join(__dirname, ‘app‘),       //当前绝对路径
    build: path.join(__dirname, ‘build‘)    //导出绝对路径
};

module.exports = {
    
    entry: {
        app: PATH.app
    },

    output: {
        path: PATH.build,
        filename: ‘[name].js‘
    }
}

8.webpack插件(html-webpack-plugin)自动生成一个html文件,并且自动引入了打包生成的app.js文件

1. npm install html-webpack-plugin
2. 在webpack.confing.js中导入const HtmlWebpackPlugin = require("html-webpack-plugin");
3. 在module.exports中添加
plugins: [
    new HtmlWebpackPlugin({})
]
4. 执行webpack,如果报错NodeTemplatePlugin就局部安装webpack

webpack

标签:turn   并且   rom   pat   流程   try   ##   工具   mon   

原文地址:https://www.cnblogs.com/lhh-bky/p/8405594.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!