• 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,开启服务

     

     浏览器里成功访问√

  • 相关阅读:
    1、SpringBoot入门
    在一台电脑开启多个微信
    【监控】prometheus监控安装
    【hadoop3.0】hive 安装
    【google工具安装】gsutil存储管理google cloud stroge
    [监控报警]elastalert安装使用
    【大数据】hadoop3.0worker集群+flink+zeppelin+kafaka+zookeeper安装部署
    【原创】fluent-bit安装使用
    [etcd]etcd集群部署
    【手打】kafka集群设置
  • 原文地址:https://www.cnblogs.com/chenyingying0/p/12798050.html
Copyright © 2020-2023  润新知