zoukankan      html  css  js  c++  java
  • webpack-dev-server的配置和使用

    继续上一篇 https://www.cnblogs.com/chenyingying0/p/12797474.html

    安装webpack-dev-server

    cnpm i sebpack-dev-server

    修改package.json

    由于不同的平台(如windows和mac)上配置环境变量的语法是不同的,为了一种写法兼容多种平台,因此需要安装配置环境变量的插件

    cnpm i cross-env

    再次修改package.json,配置环境变量

    设置的所有环境变量都会存储在process.env这个对象中

    安装一个html组件,用于输出内容

    cnpm i html-webpack-plugin

    修改webpack.config.js

    // 打包前端资源
    const path = require('path')
    const VueLoaderPlugin = require("vue-loader/lib/plugin")
    const HTMLPlugin = require("html-webpack-plugin")
    const webpack = require("webpack")
    
    // 判断当前环境是否处于开发环境
    const isDev=process.env.NODE_DEV === "development"
    
    const config = {
      target:"web",
      entry: path.join(__dirname, "src/index.js"),
      output: {
        filename: "boundle.js",
        path: path.join(__dirname, "dist"),
      },
      module: {
        rules: [
          {
            test: /.vue$/,
            loader: "vue-loader",
          },
          {
            test: /.css$/,
            use:[
              'style-loader',
              'css-loader'         
            ]
          },
          {
            test:/.styl$/,
            use:[
              'style-loader',
              'css-loader',
              'stylus-loader'
            ]
          },
          {
            test:/.(gif|jpg|jpeg|png|svg)$/,
            use:[
              {
                loader:'url-loader',
                options:{
                  limit: 1024,// 小于1024的转base64格式
                  name:'[name]-cyy.[ext]'
                }
              }
            ]
          }
        ],
      },
      plugins: [
        // 判断当前环境,打包时需要用到
        new Webpack.DefinePlugin({
          'process.env':{
            NODE_ENV: isDev ? '"development"' : '"production"'
          }
        }),
        // 请确保引入这个插件!
        new VueLoaderPlugin(),
        new HTMLPlugin()
      ],
    };
    
    // 当处于开发环境时,添加额外的devServer配置
    if(isDev){
      config.devServer={
        port:8000,
        host:'0.0.0.0', // 既可以通过localhost,也可以通过内网ip(便于同局域网内的其他设备访问)
        overlay: {
          errors: true // 所有错误都显示到网页上
        }
      }
    }
    
    module.exports = config

    运行npm run build,打包成功

    运行npm run dev,开启服务

     

     浏览器里成功访问√

  • 相关阅读:
    vue的特点
    暴力卸载低版本vuecli
    C#实现汉字转换为拼音缩写的代码
    .net 发送手机短信息
    js 小小jquery等比例缩放图片效果
    Android应用程序运行机制解析
    大型网站的架构设计问题大型高并发高负载网站的系统架构
    《UDP原理》
    《计算机网络中port和socket的作用》
    《线程并发》
  • 原文地址:https://www.cnblogs.com/chenyingying0/p/12798050.html
Copyright © 2011-2022 走看看