Webpack常用配置学习总结

Webpack作为前端模块开发打包工具,其地位愈加重要
- 通过下面几个问题进行总结
我自己用的是webpack低版本的,有一些新的特性,没法提及


对脚本的处理

  • JS用什么loader加载?
    • CSS用什么loader加载?
采用的是webpack打包工具本身的loader,比如script-loader,babel-loader等,能够应付项目的脚本
module: {
        loaders: [
        //处理css样式的loader
            { test: /\.css$/, loader: ExtractTextPlugin.extract("style-loader","css-loader") },
          // 处理图片。字体图标的loader,这个规则,我也是查找了很久,目前来说比较好用的,其他的有些会报错,因为我用的字体图标是font-awesome会版本的问题
            { test: /\.(gif|png|jpg|woff|svg|eot|ttf)\??.*$/, loader: 'url-loader?limit=100&name=resource/[name].[ext]' },
          //这个是对html模板处理的loader
            { test: /\.string$/, loader: 'html-loader'}
        ]
    },

-Output里要分文件夹存放目标文件,怎么设置?(默认打包在dist文件夹下,需求是标准化的项目目录—image-js-css)
- 官方文档上的例子中的entry只有一个js,我们有多个怎么处理?

entry: {
        'common': ['./src/page/common/index.js'],
        'index': ['./src/page/index/index.js'],
        'user-login': ['./src/page/user-login/login.js'],
        'user-register': ['./src/page/user-register/register.js'],
        'user-pass-reset': ['./src/page/user-pass-reset/reset.js'],
        'result': ['./src/page/result/result.js']
    }.
    output: {
        path: './dist',
        publicPath: '/dist',
        filename: 'js/[name].js'
    },
    这是我的小栗子,给entry参数,设置多个js对象,output打包到dist目录下,生成多个js文件
  • Jquery引入方法?
<div class="footer">
    <div class="w">
        <div class="links">
            <a href="http://www.qq.com" class="link" target="_blank">腾讯网</a>|
            <a href="http://www.baidu.com" class="link" target="_blank">百度</a>|
            <a href="http://www.taobao.com" class="link" target="_blank">淘宝网</a>|
            <a href="http://www.zhihu.com" class="link" target="_blank">知乎</a>
            <p class="copyright">
                Copyright © 2018 spring-learner.com All Right Reserved
            </p>
        </div>
    </div>
</div>
<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js" type="text/javascript"></script>
/*我是用footer这个公共模块抽调出来的,每个页面会使用到这个模块,同时加载Jquery
另外还有一个问题就是,jquery全局变量的使用,需要在externals参数中定义
*/
externals: {
        'jquery': 'window.jQuery'
    },
  • 开发过程中,会有很多公共的代码模块,我们怎么提取
/*
我在前面的jquery引用中稍微提及了一下,对于html模板的提取,一个页面有header,content,footer等等,有些代码重用性比较高,这个时候我们这个提取出来,这里我先举个栗子
*/
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <%=require('html-loader!./layout/head-common.html')%>
    <title>mall</title>
</head>
<body>
    <%=require('html-loader!./layout/nav.html')%>
    <%=require('html-loader!./layout/header.html')%>
    <div class="page-wrap w">
        <%=require('html-loader!./layout/nav-slide.html')%>
        <div class="content with-nav">test</div>
    </div>
    <%=require('html-loader!./layout/footer.html')%>
</body>
</html>
//这个模板有很多抽离的公共的模块,支持ejs模板的语法,注意的是前面应该加入html-loader!的规则

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值