十:关于对图片的打包

我们知道图片是使用url-loader来加载的,我们既可以在css文件里url的属性;如下:

#content{
    width:170px;
    height:60px;
    background:url('../images/1.jpg') no-repeat;
}

我们还可以直接对元素的src属性进行require赋值。如下代码:

var img = document.createElement("img"); 
img.src = require("../image/1.jpg"); 
document.body.appendChild(img);

我这边直接来讲第一种在css文件里的url属性进行打包;

首先来看看我项目的目录结构如下:

Css文件 main.css代码如下:

#content{
    width:170px;
    height:60px;
    background:url('../images/1.jpg') no-repeat;
}

JS文件main.js代码如下:

require('../css/main.css');

Webpack.config.js配置文件代码如下:

复制代码
// 使用webpack打包
module.exports = {
  
  entry: {
     "main": "./src/main.js"
  },
  output: {
    path: './build/',
    filename: "build.js"
  },
  module: {
    loaders: [
      {test: /.css$/, loader: 'style!css'},
      {test: /.(png|jpg)$/, loader: 'url?limit=8192'}
    ]
  }
};
复制代码

直接运行webpack 可以生成build目录,build目录下会生成2个文件 一个是图片打包后,另外一个是build.js。接着我们再在页面运行下页面,发现有一个问题,如下:

页面调用图片的url是根目录下的,不是我打包后的 build文件夹下,所以会导致图片路径找不到的问题;因此这边有一点点没有完成的任务,希望有兴趣的童靴可以帮助完成~ 不过图片确实是已经打包好了,

 

 

原文地址http://www.cnblogs.com/tugenhua0707/p/4793265.html#commentform