美文网首页我爱编程web开发程序员
webpack模块化开发(二)

webpack模块化开发(二)

作者: 1994陈 | 来源:发表于2018-09-10 16:50 被阅读24次

    主题 - css加载器 & 自动打包+浏览器自动刷新 & 优雅降级

    css加载器

    在webpack模块化开发中默认只支持js文件,其它的文件,比如css,leass,sass.....都需要用到加载器(loader)

    配置loader:

    对css进行转换

    npm install style-loader  css-loader -D

    在package.json查看是否已经安装成功,成功安装如下:

     在index.js文件下用以下语句引入:(从右到左读,但是要从左到右写)

    require('style-loader!css-loader!./assets/css/a.css');

    执行 webpack -p 打包后会将css样式渲染

    拓展:初级手动配置webpack

    1.新建webpack.config.js文件并加入以下配置:

    let path = require('path');

    module.exports = {

        entry: './src/index.js', //入口文件

        output: { //默认输出到dist

            path: path.resolve(__dirname, 'dist'), //指定编译目录 不写默认指定到dist

            filename: 'js/main.js', //出口文件路径

        },

        module: {

            rules: [

                //以.css结尾的文件 css加载器 - use内排名分先后

                { test: /\.css$/, use: ['style-loader', 'css-loader'] },

            ],

        },

        //配置环境

        mode: 'development' // | production

    }

    在module的rules中已经添加了css加载器,所以index.js中的代码可以转变如下,直接引用就可以了。

    由于webpack.config.js中设置了mode,所以只需要webpack就可以打包了。

    注意事项: webpack.config.js配置的时候,正则不需要加引号。

    如果多个出入口配置如下:

    webpack -w 自动监听开发环境下的文件的更改并打包到dist目录文件下去 --- 自动打包

    浏览器自动刷新 -  webServer 搭建前端开发服务器

    安装:cnpm install webpack-dev-server -g(全局安装)

    (将开发的项目全部打包到计算机内存中,内存中会生成一个类似于dist目录的结构,然后浏览器检测到变化后会自动刷新):出现以下就安装成功啦!

    在webpack.config.js中配置一下虚拟目录如下:

    在终端输入:webpack-dev-server后会出现以下:

    在浏览器中输入http://localhost:8081就可以了,更改css文件中的样式可以最直观的看到效果,同时终端中会出现以下信息显示成功

    自动打开浏览器并更新:

    1-1

    webpack-dev-server --port 8001 --open

    如果不想手动写这么长的命令,那么在package.json文件中配置一下就可以使用npm start来替代以上的命令啦!

    1-2:

    输入命令:webpack-dev-server

    优雅降级(es6->es5):babel

    安装babel的核心:

    npm install babel-loader babel-core babel-preset-env -D

    package.json文件中会自动生成以下:

    由于babel目前8.0.2版本不稳定,安装的时候出现警告没有安装依赖,需要倒退去安装稳定版本来解决这个问题:

    npm install babel-loader@7.1.5 babel-core babel-preset-env -D

    在webpack.config.js文件中添加以下配置:

    let 打包后变成了var :)!!!可以放心大胆的写激进语法啦!

    相关文章

      网友评论

      本文标题:webpack模块化开发(二)

      本文链接:https://www.haomeiwen.com/subject/kvgsgftx.html