webpack初始化vue项目(三)

第三节是服务器的配置
首先我们要装一个 webpack-dev-server

然后在package.json中加入一行dev配置

 "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack --config webpack.config.js",
    "dev":"webpack-dev-server --config webpack.config.js"
  }

然后webpack.config.js进行一下配置

const  path=require('path')
//定义一个变量,判断环境是不是开发环境
const isDev =process.env.NODE_ENV === 'development'

//需要装一个html-webpak-plugin
const HTMLPlugin=require('html-webpack-plugin')
const webpack=require('webpack')
const config={
    target:"web",//区分开发环境,编译目标是web
    //配置入口
    entry:path.join(__dirname,'src/index.js'),
    output:{//配置打包出口文件
        filename:'bundle.js',
        path:path.join(__dirname,'dist')
    },
    module:{
        rules:[
            {//让webpack识别vue模板
                test:/.vue$/,
                loader:'vue-loader'
            },
            //样式
            {
                test:/.css$/,
                use:[
                    'style-loader',
                    'css-loader'
                ]
            },
            //图片转base64
            {
                test:/\.(gif|jpg|jpeg|svg)$/,
                use:[
                    {
                        loader:'url-loader',
                        options:{
                            limit:1024,
                            name:'[name].[ext]'
                        }
                    }
                ]
            },
            //处理stylus
            {
                test:/\.style/,
                use:[
                    'style-loader',
                    'css-loader',
                    'stylus-loader'
                ]
            }
        ]
    },
    plugins:[
        //此处配置后,可以在其它JS访问
        new webpack.DefinePlugin({
            'process.env':{
                NODE_ENV:isDev?'"development"':'"production"'
            }
        }),
        new HTMLPlugin()
    ]
}
//根据不同的环境,进行不同操作
//需要安装cross-env
if(isDev){
    //代码调试配置,处理编译后的代码和源代码的映射关系
    config.devtool="#cheap-module-eval-source-map"
    config.devServer={
        port:'8000',
        host:'127.0.0.1',
        overlay:{
            errors:true//网页显示报错
        },
        open:true,//自动启动浏览器
        hot:true//热更新时只渲染组件
    }
    //热加载配置
    config.plugins.push(
        new webpack.HotModuleReplacementPlugin(),
        new webpack.NoEmitOnErrorsPlugin()
    )
}
module.exports=config

配置好之后,在控制台输入
npm run dev就会自动打开浏览器访问页面了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 写在开头 先说说为什么要写这篇文章, 最初的原因是组里的小朋友们看了webpack文档后, 表情都是这样的: (摘...
    Lefter阅读 10,712评论 4 31
  • 在现在的前端开发中,前后端分离、模块化开发、版本控制、文件合并与压缩、mock数据等等一些原本后端的思想开始...
    Charlot阅读 10,877评论 1 32
  • webpack 介绍 webpack 是什么 为什么引入新的打包工具 webpack 核心思想 webpack 安...
    yxsGert阅读 11,592评论 2 71
  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 12,563评论 7 35
  • 昨天带孩子去上跆拳道课,人不多,孩子的妈妈就三四个人,我们看手机的看手机,聊衣服的聊衣服,也是难得的休闲时光。孩子...
    做自己命运的主宰阅读 2,350评论 0 0

友情链接更多精彩内容