• 运行 npm init -y 快速初始化项目

  • 在项目根目录创建src源代码目录和dist产品目录

  • 在src目录下创建 index.html

    • mani.js文件如果后期使用entry打包,这里可以手动创建
  • 使用npm 安装webpack, 运行npm i webpack/webpack-cli -D

    • 全局运行npm i cnpm -g
  • 手动创建webpack.config.js文件

  • 注意:webpack4.x 提供了约定大于配置的概念:目的是为了尽量减少配置文件的体积;

    • 默认约定了
    • 打包的入口是src>index.js
    • 打包的输出文件是 dist>main.js
    • 4.x中新增了mode选项(必选项),可选值为:development和production;
  • 或者在webpack.config.js中配置 entry

     module.exports={
    mode:'development' // development production }

    实时打包模块

  • 安装
  •  npm install webpack-dev-server -D
  • package.json中设置dev
     "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev":"webpack-dev-server"

      

  • 启动dev运行
    npm run dev
     webpack-dev-server 打包好的main.js是托管到了内存中;所以在项目根目录中看不到;但是我们可以认为,在项目根目录中,有一个看不见的main.js
  • index.js中引入根目录main.js
    <script src="/main.js"></script>
    
  • package.json中设置dev属性

    • --open 自动打开浏览器 后面可以添加 iexplore chrom ....浏览器
    • --port 3000 : 执行端口号为3000
    • --hot :
    • --progress :打包进度
    • --compress : 压缩
    • --host 127.0.0.1 : 执行域名
    "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev":"webpack-dev-server --open --port 3000 --hot"
    },

自动打开index.html 首页模块

  • 安装模块
    npm install html-webpack-plugin -D
  • webpack.config.js中配置
 const path=require('path');
const HtmlWebPackPlugin=require('html-webpack-plugin') // 导入 在内存中自动生成index页面的插件 // 创建一个插件的实例对象
const htmlPlugin=new HtmlWebPackPlugin({
template: path.join(__dirname,'./src/index.html'), // 源文件
filename:'index.html' // 生成的内存中首页的名称
}) // 加入模块
module.exports={
mode:'development',
plugins:[
htmlPlugin
]
}

  

将index中<script src="/main.js"></script>去掉,让他自己打包执行

webpack 4.x版本手动配置的更多相关文章

  1. webpack安装大于4.x版本(没有配置webpack.config.js)

    webpack安装大于4.x版本(没有配置webpack.config.js) webpack 输出参数-o 高版本  如果安装的webpack版本大于4+,还需要安装webpack-cli.在没有配 ...

  2. webpack安装低于4版本(没有配置webpack.config.js)

    webpack安装低于4版本(没有配置webpack.config.js) webpack 无需配置输出参数-o 低版本  1.初始化项目 npm init -y 初始化项目 2.安装webpack@ ...

  3. webpack 从0 手动配置

    1. npm init 2. npm install -D webpack webpack-cli 3. 创建webpack入口文件( 默认 webpack.config.js 可以通过 webpac ...

  4. webpack 4.0 版本的简单使用

    webpack 4.0 学习指南 最近前端又要变天了,vue作者推出了vue-cli 3版本,并且里面使用了webpack 4. 但是webpack 3 和webpack 4 二者的使用方式完全不一样 ...

  5. LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx

    前几天介绍了最新StartSSL免费SSL申请与配置,很多人看到部落介绍SSL证书安装时总是推荐了OneinStack,因为OneinStack提供了一键添加和配置Let's Encrypt 免费SS ...

  6. 手动配置 Windows 时间服务

    手动配置 Windows 时间服务 要将内部时间服务器配置为与外部时间源同步,请按照下列步骤操作: 将服务器类型更改为 NTP. 为此,请按照下列步骤操作: 选择 “开始” . “运行”,键入 reg ...

  7. [Android Studio系列(五)] Android Studio手动配置Gradle的方法

    1 问题 (1) android sutdio第一次打开一个工程巨慢怎么办? (2) 手动配置Gradle Home为什么总是无效? (3) 明明已经下载了Gradle,配置了gradle home, ...

  8. Visual Studio IDE环境下利用模板创建和手动配置CUDA项目教程

    目前版本的cuda是很方便的,它的一个安装里面包括了Toolkit`SDK`document`Nsight等等,而不用你自己去挨个安装,这样也避免了版本的不同步问题. 1 cuda5.5的下载地址,官 ...

  9. webpack 功能大全 【环境配置】

    1. webpack简介 webpack 是一个模块打包工具.它使得模块相互依赖并且可构建等价于这些模块的静态资源.相比于已经存在的模块打包器(module bundler),webpack的开发动机 ...

随机推荐

  1. SerializableClob转String

    ORACLE数据库读取CLOB字段,JAVA中获取到类型为SerializableClob,如何转换成String类型那? 以下是代码示例:         SerializableClob sc = ...

  2. js进度条

    第一步//====================.wrap,.circle,.percent{                  position: absolute;                ...

  3. 一个ACE 架构的 Socket Client

    .h /************************************************************** * Filename: TcpClient.h * Copyrig ...

  4. 极致Web性能 —— SPA性能指南

    前言 前端框架时代,为开发体验.效率与页面性能带来,非常大的革命.大家纷纷拿起一系列打包工具(webpack/parcel etc.),配合一系列加载器快速搭建起一个 SPA 页面. SPA 应用带来 ...

  5. 移动端1px像素解决方式,从1px像素问题剖析像素及viewport

    在移动端web开发过程中,如果你对边框设置border:1px,会发现,边框在某些手机机型上面显示的1px比实际感觉会变粗,这也就是1像素问题.如下图是对桌面浏览器和移动端border设置1px的比较 ...

  6. CSS(六)- 内容布局 - Flexbox

    Flexbox是CSS3提供的用于布局的一套新属性,是为了应对行内块.浮动和表格格式产生的问题而生的.其包含针对容器(弹性容器,flex container)和针对其直接子元素(弹性项,flex it ...

  7. php基础学习中认为重点的知识

    <?php ... ?> 简写成 <? ... ?> 服务器中可以通过php.ini中配置short_open_tag为on来实现 php语句必须以分号  ; 结尾 .  连接 ...

  8. requests接口自动化6-Body里json格式数据形式的post请求:json

    Body里json格式数据形式的post请求:用json传参 fiddler里请求响应内容: 传递的json数据 [{"stepId":"0","ca ...

  9. 基于three.js的全景

    直接上代码: <!DOCTYPE html><html> <head> <title>three.js css3d - panorama</tit ...

  10. bzoj3223Tyvj 1729 文艺平衡树

    bzoj3223Tyvj 1729 文艺平衡树 题意: 一个数列,支持区间翻转操作. 题解: splay裸题.注意涉及到区间操作的一般用splay不用treap. 代码: #include <c ...