• webpack +vue开发(3)


    webpack的一些有用的命令

    webpack --display-modules

    在终端显示这些module,另外一个推荐使用

    webpack --display-modules --display-reasons

    可以把我们在哪里require都显示出来并且用哪些loader处理

    webpack -d //debug
    webpack -p //执行一些优化将我们的文件压缩
    webpack --watch //或者
    webpack -w

    -w是缩写这个命令使我们不用每次更改文件都去执行webpack,比如我们修改我们的css文件 把字体颜色改为#fff 保存我们直接刷新浏览器就可以了,嘻嘻。

    但是我们还是得去刷新浏览器,webpack还提供了热加载,首先安转webpack的服务

    npm install webpack-dev-server --save-dev

    这里可以配置的参数

    devserver配置选项 功能描述
    contentBase 默认webpack-dev-server会为根文件夹提供本地服务器,如果想为另外一个目录下的文件提供本地服务器,应该在这里设置其所在目录(本例设置到“public"目录)
    port 设置默认监听端口,如果省略,默认为”8080“
    inline 设置为true,当源文件改变时会自动刷新页面
    colors 设置为true,使终端输出的文件为彩色的
    historyApiFallback 在开发单页应用时非常有用,它依赖于HTML5 history API,如果设置为true,所有的跳转将指向index.html
    module.exports = {
        devtool:"sourcemap",
        entry:"./js/entry.js",
        output:{
            filename:"bundle.js",
        },
        module:{
            loaders:[
                {
                    test:/.css$/,
                    loader:"style!css"
                },
                {
                    test:/.js$/,
                    loader:"babel",
                    exclude:/node_modules/,
                },
                {
                    test:/.vue$/,
                    loader:"vue"
                }
            ]
        },
        resolve: {
          alias: {
            'vue$': 'vue/dist/vue.js'
          }
        },
        babel:{
            presets:['es2015','stage-0'],
            plugins:['transform-runtime']
        },
        devServer: {
            port:"8090",
            inline:true,
        } 
    }

    这里配置8090端口自动刷新页面,在终端使用命令启动服务器

    webpack-dev-server --inline

    直接在页面打开http://localhost:8090/更改代码你就可以看到实时刷新了,判断我们是线上环境还是线下环境,然后做一些区别:

    var debug = process.env.NODE_ENV !== "production";
    module.exports = {
        devtool:debug ? "sourcemap" : null,//线下才生产sourcemap
        entry:"./js/entry.js",
        output:{
            filename:"bundle.js",
        },
        module:{
            loaders:[
                {
                    test:/.css$/,
                    loader:"style!css"
                },
                {
                    test:/.js$/,
                    loader:"babel",
                    exclude:/node_modules/,
                },
                {
                    test:/.vue$/,
                    loader:"vue"
                }
            ]
        },
        resolve: {
          alias: {
            'vue$': 'vue/dist/vue.js'
          }
        },
        babel:{
            presets:['es2015','stage-0'],
            plugins:['transform-runtime']
        },
        devServer: {
            port:"8090",
            historyApiFallback: true,
            inline: true,
            progress: true,
        },
        plugins:debug ? []:[
            new webpack.optimize.DedupePlugin(),
            new webpack.optimize.OccurrenceOrderPlugin(),
            new webpack.optimize.UglifyJsPlugin({mangle:false,sourcemap:false})
        ],
    }
  • 相关阅读:
    springboot常见应用属性
    springboot日志
    springboot注解
    2018年5月26日笔记
    LAMP环境搭建与配置
    2018年5月24日笔记
    2018年5月22日笔记
    2018年5月19日笔记
    2018年5月17日笔记
    2018年5月15日笔记
  • 原文地址:https://www.cnblogs.com/longsiyuan/p/6093751.html
Copyright © 2020-2023  润新知