一、开发环境配置准备

1、创建dev.config.js文件

用来配置开发环境的代码

2、安装webpack-merge

cnpm install webpack-merge -D

用来合并webpack配置项

二、开发环境基础配置代码

//合并webpack配置项
constwebpackMerge=require("webpack-merge");
//path模块
constpath=require("path");
//基础配置项
constbaseConfig=require("./base.config");
constwebpack=require("webpack");

constwebpackConfig=webpackMerge(baseConfig,{
   mode:"development",
   devtool: 'inline-source-map',
})

module.exports=webpackConfig

三、loader处理css

1、安装

cnpm  install  style-loader  css-loader sass-loader  node-sass   postcss-loader    -D

2、基本使用

constwebpackConfig=webpackMerge(baseConfig,{
   mode:"development",
   devtool: 'inline-source-map',
   module:{
       rules:[
          {
               test:/\.(css|scss)$/,
               use:[
                  {loader:"style-loader"},// 将 JS 字符串生成为 style 节点
                  {loader:"css-loader"},// 将 CSS 转化成 CommonJS 模块
                  {
                       loader:"postcss-loader",
                       options:{
                           sourceMap: true,
                           config:{
                               path:"./postcss.config.js"// 在项目根目录创建此文件
                          }
                      }
                  },
                  {
                       loader:"sass-loader"// 将 Sass 编译成 CSS
                  }
              ]
          }
      ]
  }
})

3、根目录下创建postcss.config.js

module.exports={
   plugins: [
       require('autoprefixer')({
           overrideBrowserslist: [
               "Android 4.1",
               "iOS 7.1",
               "Chrome > 31",
               "ff > 31",
               "ie >= 8"
          ],
           grid: true  
      })
  ]
};

四、开启热更新

HotModuleReplacementPlugin是webpack自带的方法

plugins:[
       newwebpack.HotModuleReplacementPlugin()//热更新
  ]

五、webpack-dev-server

1、安装

cnpm install webpack-dev-server -D

2、基本使用

devServer:{
       contentBase:path.join(__dirname,"../dist"),
       port:"9000",
       historyApiFallback: true,//不跳转
       noInfo: true,
       inline: true,//实时刷新
       disableHostCheck: true,
}

【webpack4.0】---dev.config.js基本配置(六)的更多相关文章

  1. 解决运行webpack --config webpack.dev.config.js 报错ReferenceError: _dirname is not defined

    控制台报错信息如下 将webpack.dev.config.js中的_dirname 改为 __dirname 注意这里是两个下划线谢谢!感觉好坑

  2. webpack配置之webpack.config.js文件配置

    webpack配置之webpack.config.js文件配置 webpack.config.js webpack resolve  1.总是手动的输入webpack的输入输出文件路径,是一件非常繁琐 ...

  3. [转]webpack4.0.1安装问题和webpack.config.js的配置变化

    本文转自:https://blog.csdn.net/jiang7701037/article/details/79403637 The CLI moved into a separate packa ...

  4. 【webpack4.0】---base.config.js基本配置(五)

    一.创建项目初始化 1.初始化项目npm init -y 2.创建 src (用来存放开发环境的代码)文件夹.  config (用来存放webpack的配置项)文件夹 3.安装webpack  We ...

  5. webpack4.0.1安装问题和webpack.config.js的配置变化

    The CLI moved into a separate package: webpack-cli. Please install 'webpack-cli' in addition to webp ...

  6. vue3.0 vue.config.js 配置实战

    今天讲述一下vue-config.js配置,我们前面搭建好脚手架会发现,这个对比2.x版本少了很多东西,没有build的配置,也没有webpack的配置,那么问题来了,我们如何去开发我们的项目呢,比如 ...

  7. vue.config.js基础配置

    const path = require('path') const UglifyPlugin = require('uglifyjs-webpack-plugin') module.exports ...

  8. vue-cli3的vue.config.js文件配置,生成dist文件

    //vue.config.jsonconst path = require('path'); // const vConsolePlugin = require('vconsole-webpack-p ...

  9. vue.config.js常用配置

    使用vue-cli3.0搭建项目比之前更简洁,没有了build和config文件夹. vue-cli3的一些服务配置都迁移到CLI Service里面了,对于一些基础配置和一些扩展配置需要在根目录新建 ...

随机推荐

  1. 基于DNN的残余回声抑制

    摘要 由于功率放大器或扬声器的限制,即使在回声路径完全线性的情况下,麦克风捕获的回声信号与远端信号也不是线性关系.线性回声消除器无法成功地消除回声的非线性分量.RES是在AES后对剩余回声进行抑制的一 ...

  2. c++11之find 和 find_if 和 find_if_not 用法

    时刻提醒自己 Note: vector的释放 0.头文件 #include <algorithm> 1.区别 返回范围 [first, last) 中满足特定判别标准的首个元素: 函数 功 ...

  3. 【LeetCode】Island Perimeter 解题报告

    [LeetCode]Island Perimeter 解题报告 [LeetCode] https://leetcode.com/problems/island-perimeter/ Total Acc ...

  4. 【九度OJ】题目1194:八进制 解题报告

    [九度OJ]题目1194:八进制 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1194 题目描述: 输入一个整数,将其转换 ...

  5. 【LeetCode】72. Edit Distance 编辑距离(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 记忆化搜索 动态规划 日期 题目地址:http ...

  6. 【LeetCode】809. Expressive Words 解题报告(Python)

    [LeetCode]809. Expressive Words 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http ...

  7. The Luckiest number(hdu2462)

    The Luckiest number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  8. TLS、SSL

    TLS/SSL 的功能实现主要依赖于三类基本算法:散列函数 Hash.对称加密和非对称加密,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性. ...

  9. [opencv]zxing c++ 库的编译,安装,以及api的介绍

    环境:ubuntu 16.04 1. 下载:zxing的源码 git clone https://github.com/15903016222/zxing-cpp.git2. 安装编译依赖的工具:cm ...

  10. Flink sql 之 两阶段聚合与 TwoStageOptimizedAggregateRule(源码分析)

    本文源码基于flink1.14 上一篇文章分析了<flink的minibatch微批处理>的源码 乘热打铁分析一下两阶段聚合的源码,因为使用两阶段要先开启minibatch,至于为什么后面 ...