核心提示:根据博文webpack3学习1Getting Started的操作,现在会有一个小项目,显示 Hello webpack。现在我们尝试整合一些其他资源,比如CSS和图片,看看 webpack 如何处理...
       根据博文webpack3学习1–Getting Started的操作,现在会有一个小项目,显示 “Hello webpack”。现在我们尝试整合一些其他资源,比如CSS和图片,看看 webpack 如何处理。
加载CSS
为了从JavaScript模块中import一个CSS文件,你需要在module配置中 安装并添加 style-loader 和 css-loader:
cnpm install --save-dev style-loader css-loader
webpack.config.js增加module==>rules配置:
var path = require('path');
module.exports = {
    entry: './src/index.js',
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'dist')
    },
    module: {
        rules: [
            {
                test: /\.css$/,
                use: ['style-loader', 'css-loader']
            }
        ]
    }
};
在项目中添加一个新的 style.css 文件,并将其导入到我们的 index.js 中:
.hello {
    color: red;
}
import _ from 'lodash';
import './style.css';
function component() {
    var element = document.createElement('p');
    element.innerHTML = _.join(['Hello', 'webpack'], ' ');
    element.classList.add('hello');
    return element;
}
document.body.appendChild(component());
运行
npm run build http-server
浏览器访问https://localhost:8080/dist/ ,可以看到Hello webpack变红了。
加载图片
可以使用 file-loader加载图片。
cnpm install --save-dev file-loader
webpack.config.js增加file-loader的配置
var path = require('path');
module.exports = {
    entry: './src/index.js',
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'dist')
    },
    module: {
        rules: [
            {
                test: /\.css$/,
                use: ['style-loader', 'css-loader']
            },
            {
                test: /\.(png|svg|jpg|gif)$/,
                use: ['file-loader']
            }
        ]
    }
};
src目录下增加测试图片icon.png
webpack-demo
  |- package.json
  |- webpack.config.js
  |- /dist
    |- bundle.js
    |- index.html
  |- /src
+   |- icon.png
    |- style.css
    |- index.js
  |- /node_modules
index.js如下
import _ from 'lodash';
import './style.css';
import Icon from './icon.png';
function component() {
    var element = document.createElement('p');
    element.innerHTML = _.join(['Hello', 'webpack'], ' ');
    element.classList.add('hello');//样式
    var myIcon = new Image();
    myIcon.src = Icon;
    element.appendChild(myIcon);//图片
    return element;
}
document.body.appendChild(component());
style.css增加背景图片:
.hello {
    color: red;
    background: url('./icon.png');
}
运行
npm run build http-server
浏览器访问https://localhost:8080/dist/ ,可以看到图片和背景图片。
webpack资源管理还可以加载字体、数据、全局资源等,下一步再研究。



 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                