美文网首页
[webpack]初识webpack(webpack基本配置与本

[webpack]初识webpack(webpack基本配置与本

作者: 泉落云生 | 来源:发表于2018-07-06 00:27 被阅读8次

构建webpack的环境

  1. cnpm i webpack -g

  2. cnpm i webpack --save-dev

  3. cnpm i webpack-cli -g

  4. cnpm i webpack-cli --save-dev

  5. cnpm install webpack-dev-server -g

  6. 运行webpack-dev-server --progress --colors

初识webpack

1.特点

  • 代码拆分
    webpack 有两种组织模块依赖的方式,同步和异步。异步依赖作为分割点,形成一个新的块。在优化了依赖树后,每一个异步区块都作为一个文件被打包。
  • Loader
    loader 转换器可以将各种类型的资源转换成 JavaScript 模块。这样,任何资源都可以成为 Webpack 可以处理的模块。webpack本身是只能处理js模块。
  • 智能解析
    Webpack 有一个智能解析器,几乎可以处理任何第三方库,无论它们的模块形式是 CommonJS、 AMD 还是普通的 JS 文件。甚至在加载依赖的时候,允许使用动态表达式 require("./templates/" + name + ".jade")。
  • 丰富的插件

2. 一个简单的例子

新建webpack.config.js
由以下四部分组成: 入口、出口、加载器、插件

module.exports = {
    entry: {
        bundle1:'./main1.js',
        bundle2:'./main2.js'
    }, 
    output:{  
        path:__dirname+'/',
        filename:''[name].js''
    },
    module:{
        rules:[{
            test:/\.css$/,
            loader:['style-loader','css-loader']
        },
        {
            test:/\.(png|jpg)$/,loader:'url-loader',options:{limit:'1024'}
        }]
    },
    plugins:[
        new webpack.optimize.UglifyJsPlugin({
            compress:{
                warnings:false
            }
        })
    ]
}

entry:string/array/object

  • 案例1 entry:'./path/to/my/entry/file.js'
  • 案例2 entry:['./entry1','./entry2'] 创建多个路口
  • 案例3 entry:{app:'./src/app.js',vendors: './src/vendors.js'} webpack从app.js和vendors.js开始创建依赖图表。这些图表是彼此完全分离、互相独立的。

output

启动本地服务

  1. cnpm i webpack-dev-server --save-dev
  2. webpack.config.js
devServer:{
    contentBase:'./',
    host:"localhost", // ipconfig
    compress: true,//是否压缩
    port:2000 //暴露的端口号
}
  1. 这样就可以使用webpack-dev-server开启本地服务了
  2. package.jsonscripts:{"server": "webpack-dev-server --open"}就可以使用npm run server 启动本地服务
  3. webpack.config.js配置publicPath: "temp/",页面<script src="./temp/main.js"></script>,就可以使用热更新了
    demos

相关文章

网友评论

      本文标题:[webpack]初识webpack(webpack基本配置与本

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