您现在的位置:首页 >> 前端 >> 内容

webpack中开发工具webpack-dev-server和常用loaders加载器的简单使用

时间:2017/2/24 22:22:00 点击:

  核心提示:webpack中开发工具webpack-dev-server和常用loaders加载器的简单使用。webpack-dev-server webpack-dev-server 在webpack 官网上的...

webpack中开发工具webpack-dev-server和常用loaders加载器的简单使用。

webpack-dev-server

webpack-dev-server 在webpack 官网上的 develop tools 获取,用于监听文件变化,实现时时打包,时时刷新功能。

作为项目依赖安装:

$ npm i --save-dev webpack-dev-server

依照上篇博客修改package.json文件中的scripts

"develop": "webpack-dev-server --config webpack.develop.config.js --devtool eval --progress --colors --hot --content-base src"
运行
$ npm run develop
将会在src目录下搭建一个web服务器, 访问 : https://localhost:8080 就会看到效果。

loaders

webpack supports pre-processing files via loaders. This allows you to bundle any static resource not only javascript. You can easily write your own loaders running in Node.js.
webpack 通过加载器支持预处理文件,这会让你打包不止于js的任何静态文件。你可以在nodejs环境中写自己的加载器。

通过安装几个加载器来举例说明:

babel-loader

$ npm i --save-dev babel-loader babel-core babel-preset-es2015 babel-preset-react

安装完上述几个插件后就可以转换jsx和ES6的语法了。

修改webpack配置文件中的 module, 下面loaders 是个数组,表示不同的加载器

module: {
  loaders: [
    {
        test: /\.jsx?$/, // 用正则来匹配文件路径,这段意思是匹配 js 或者 jsx
        loader: 'babel',// 加载模块 "babel" 是 "babel-loader" 的缩写
        query:{
            presets: ['es2015', 'react']
        }
     }
   ]
}

sass-loader

用于处理sass文件

安装

$npm i --save-dev sass-loader

将sass处理器添加入loaders中

{
  test:/\.scss$/,
  loader:'style!css!sass'
}

url-loader

用于处理图片的引用关系,大图片直接引用,小图片会转成base64文件

安装:
$ npm i --save-dev url-loader

将url-loader加入loaders中

{
    test:/\(png|jpg|jpeg)$/,
    loader:'url?limit=10000&name=images/[name].[ext]'
}

说明: limit代表以字节为单位的图片在10000字节的时候会打包到bundle.js中,超出会进行图片地址的引用。name参数代表将打包的文件放入哪个文件夹下。

file-loader

具体用法在这里: github-file-loader 多用于移动文件使用

安装:

$ npm i --save-dev file-loader

将file-loader加入loaders中, 具体用法还需尝试官方文档所示。

{
    test:/\.(png|gif|jpg|jpeg)$/,
    loader:'file-loader?name=images/[name].[ext]'
}

Tags:WE EB BP PA 
作者:网络 来源:小梦想丶的专栏