webpack打包js,css和图片

摘要:
css-loader'},{test:/.$/,//配置css中的图片,html中的图片示例在下面loader:'url-loader?css文件和images文件夹保持了同样的层级,可以不做任务修改即能访问到图片。区别是打包后的图片加了hash值,bundle.css文件里引入的也是有hash值的图片。npminstallurl-loader--save-dev,如果缺少file-loader,npminstallfile-loader--save-devtest属性代表可以匹配的图片类型,除了png、jpg之外也可以添加gif等,以竖线隔开即开。由于webpack对html的处理不太好,打包HTML文件中的图片资源是相对来说最麻烦的。

1、webpack打包默认配置文件webpack.config.js

2、打包js文件:有这个文件并配置可以直接在cmd上webpack打包,没有这个文件要在cmd上输入 webpack main.js build.js

3、打包css文件:要在cmd上输入npm install style-loader css-loader 安装

module.exports={
    //配置js
    entry:'./main.js',//webpack要打包的源文件
output:{
        filename:'build.js'//打包输出的文件名称
},
    module:{
        loaders:[
            {
                test:/.css$/,      //配置css
                loader:'style-loader!css-loader'},
            {
                test: /.(png|jpg)$/,   //配置css中的图片,html中的图片示例在下面
                loader: 'url-loader?limit=8192'//图片被打包在主目录下}
        ]
    }
};

url-loader 后面除了 limit 字段,还可以通过 name 字段来指定图片打包的目录与文件名:

module: {
  loaders: [
    {
      test: /.(png|jpg)$/,
      loader: 'url-loader?limit=8192&name=images/[hash:8].[name].[ext]'//图片被打包在images目录下并在原图片名前加上8位 hash 值}
  ]
}

上例中的 name 字段指定了在打包根目录(output.path)下生成名为 images 的文件夹,并在原图片名前加上8位 hash 值。

css 文件和 images 文件夹保持了同样的层级,可以不做任务修改即能访问到图片。区别是打包后的图片加了 hash 值,bundle.css 文件里引入的也是有hash值的图片。

output.publicPath 表示资源的发布地址,当配置过该属性后,打包文件中所有通过相对路径引用的资源都会被配置的路径所替换。

output: {
  path: 'dist',   //主目录
  publicPath: '/assets/',  //替换的路径
  filename: 'bulid.js'}

4、打包图片:打包图片有三种,html中的图片,css中的图片,js中的图片,在 webpack 中引入图片需要依赖 url-loader 这个加载器。npm install url-loader --save-dev,如果缺少file-loader,npm install file-loader --save-dev

test 属性代表可以匹配的图片类型,除了 png、jpg 之外也可以添加 gif 等,以竖线隔开即开。loader 后面 limit 字段代表图片打包限制,这个限制并不是说超过了就不能打包,而是指当图片大小小于限制时会自动转成 base64 码引用。

由于 webpack 对 html 的处理不太好,打包 HTML 文件中的图片资源是相对来说最麻烦的。这里需要引用一个插件—— html-withimg-loder $ npm install html-withimg-loader --save-dev

module: {
loaders: [
    {
        test: /.html$/,
        loader: 'html-withimg-loader'}
]
}
注:在 build.js 中引用 html 文件
import '../index.html';
JS中的图片应该是通过模块化的方式引用图片路径
var imgUrl = require('./images/bg.jpg'),
imgTempl = '<img src="https://tool.4xseo.com/article/20980.html'+imgUrl+'" />';
document.body.innerHTML = imgTempl
1)需要引用的分支文件
//配置文件出口
module.exports={
    addFun:add
};
2)需要引用的主文件
require("./com.css");//引入要打包的css文件
var cale=require('./add.js');//引入要打包的js文件
console.log(cale.addFun(1,2));//调用函数方法
注:压缩build.js直接在cmd上输入webpack -p

免责声明:文章转载自《webpack打包js,css和图片》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇文件上传的几种方式_djangopugixml下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JSON中单引号的处理

在Json字符串中如果有单引号,用eval转化的时候会报错。解决方法: 1、C#代码        [DebuggerStepThrough]        public static string ToJson(this object target)        {            var serializer = new JavaScriptS...

浅谈CSS中的百分比

结论: 标准流中的元素,看其属性有没有继承性。对于width和margin-left,它是可以继承的,它会参照父元素或者祖先元素(其实是包含块);对于height,它没有继承性,父元素或者祖先元素会自适应其所有子元素的高度和(这点是需要注意的)。 绝对定位参照的是离它最近的父元素或祖先元素,如果没有父元素或祖先元素,那么参照的是初始包含块(不同的浏览器可...

js实现点击箭头导航条左右滚动

一、实现效果 二、代码展示 <!-- 导航条点击箭头左右滚动 --> <script type="text/javascript"> $(function() { var oPic = $('.picScroll').find('ul...

css中height 100vh的应用场景,动态高度百分比布局,浏览器视区大小单位

css中height 100vh的应用场景,动态高度百分比布局,浏览器视区大小单位 height:100vh 一些只能vw, vh才能完成的应用场景: 1. 场景之:元素的尺寸限制 vw vh 主要是实现了动态高度百分比布局,比如宽高比不固定的图片,vw很轻易的实现正方形图片缩略图原始大图的尺寸限制问题——因为很有可能图片过大,尼玛一屏显示器区域不够放,我...

技术学习网站

这里主要用于分享一些实用的技术网站,方便查阅 _ 一、学习提升 1. 综合学习网站 MDN学习 Web 开发的最佳实践 web.devGoogle 出品的 Web 开发资源教程 LeetCode全球极客挚爱的技术成长平台小浩算法 freeCodeCamp通过成千上万个编程关卡来帮助提升你的编程技能 网道互联网开发文档 慕课网程序员的...

JS事件 鼠标经过事件(onmouseover)鼠标经过事件,当鼠标移到一个对象上时,该对象就触发onmouseover事件,并执行onmouseover事件调用的程序。

鼠标经过事件(onmouseover) 鼠标经过事件,当鼠标移到一个对象上时,该对象就触发onmouseover事件,并执行onmouseover事件调用的程序。 现实鼠标经过"确定"按钮时,触发onmouseover事件,调用函数info(),弹出消息框,代码如下: 运行结果:   任务 补充右边编辑器第13行,当鼠标经过"确定...