1.先创建个文件夹 比如叫 webApp

用编译器打开

2.安装全局的webpack 和webpack-cli 及 webpack-dev-server 命令如下

npm install webpack webpack-cli webpack-dev-server -g  推荐安装个淘宝镜像 cnpm 这样下载速度更快 也能规避一下错误

操作列子使用的淘宝镜像

点击回车等待安装完成

3.创建3个文件夹 分别是config dist src

4.输入命令 npm init -y 创建package.json文件

package.json初始内容

5.创建index.htm和index.js 分别在dist和src文件夹下面创建 dist创建index.html src创建index.js

6.webpack4.x中默认找src/index.js作为默认入口,所以现在就能开始打包了输入webpack进行简单打包

然后你会发现你多了一个node_modules文件和一个main.js文件

和webpack的警告

打包的时候输入webpack --mode=development或者webpack --mode=production就不会出现警告提示了

webpack --mode=development是开发环境 webpack --mode=production是生产环境

然后在用webpack --mode=production看一下区别

对比2张图片可以发现 它的体积变小了 所以明显这个代码是经过压缩后的

7.开始重头戏了 创建webpack的配置文件 在config文件夹下创建 webpack.dev.js

8.然后删除dist下的main.js和 src下的index.js 自己进行手动配置

删除后目录

9.进入webpack.dev.js开始配置

入口js文件可以有多个逗号分隔

修改package.json如下

如果此时运行自定义命令 npm run build 就会报错

因为没找到入口文件 所以需要在src下面创建main.js

再次运行

依旧报错 意思是命令不对

认真的小伙伴已经看出来了吧 修改package.json 把bulid改成build就可以了

10.配置webpack-dev-server 配置项就是webpack.dev.js里面的devServer

配置如下:

有了这4个是webpack-dev-server的最基本配置 配置了他们就能启动服务看看效果了

输入webpack-dev-server --config=config/webpack.dev.js运行

服务开启成功 地址为 http://localhost:3000/

访问页面发现什么也没有

接下来我们修改dist目录下面的index.html

再次看一下页面

引入src下的main.js

之所以在当前目录找 是因为入口文件上面已经有了路径

js内编辑一行代码

查看页面

基本配置完成!!

11.配置css

webpack要配置css首先就要安装loaders

安装成功后进入webpack.dev.js里面的module进行配置

然后创建个src下创建个css文件为main.css书写样式

在src/main.js中引入

在package.json里面配置启动命令

然后 npm run dev 启动服务

打开页面

基本配置完成!!!

webpack4.x ,1基本项目构建 详解的更多相关文章

  1. 开源项目MultiChoiceAdapter详解(六)——GridView和MultiChoiceBaseAdapter配合使用

    这篇其实没啥重要的,主要就算是个总结吧. 一.布局文件 这里实现的是类似于上图的多图选择的效果.关键在于item布局文件的写法.这也就是这个框架奇葩的一点,莫名其妙的要在一个自定义控件里面再放一个自定 ...

  2. 开源项目MultiChoiceAdapter详解(五)——可扩展的MultiChoiceBaseAdapter

    上次写到了开源项目MultiChoiceAdapter详解(四)——MultiChoiceBaseAdapter的使用,其实我们仍旧可以不使用ActionMode的,所以这里就写一个自己扩展的方法. ...

  3. 开源项目MultiChoiceAdapter详解(四)——MultiChoiceBaseAdapter的使用

    MultiChoiceBaseAdapter是一个可以多选的BaseAdapter,使用的方式相比来说扩展性更强! 使用方式: 1.布局文件 2.写一个类继承MultiChoiceBaseAdapte ...

  4. 开源项目MultiChoiceAdapter详解(三)——MulitChoiceNormalArrayAdapter的使用

    MulitChoiceNormalArrayAdapter是我自己定义的一个类,其实就是实现了MulitChoiceArrayAdapter,为什么做这个简单的实现类呢,因为这样我们在不用Action ...

  5. 开源项目MultiChoiceAdapter详解(二)——MultiChoiceArrayAdapter的使用

    MultiChoiceArrayAdapter其实就是可以多选的ArrayAdapter了,ArrayAdpter我们已经很熟悉了.MultiChoiceArrayAdapter这个类是抽象类,所以使 ...

  6. 开源项目MultiChoiceAdapter详解(一)——概要介绍

    项目地址:https://github.com/ManuelPeinado/MultiChoiceAdapter 这个项目主要是提供了一个多选适配器,使用者可以用它来替换传统的适配器,用途还算比较广泛 ...

  7. 《TensorFlow学习指南深度学习系统构建详解》英文PDF+源代码+部分中文PDF

    主要介绍如何使用 TensorFlow 框架进行深度学习系统的构建.涉及卷积神经网络.循环神经网络等核心的技术,并介绍了用于图像数据和文本序列数据的模型.给出了分布式深度学习系统在TensorFlow ...

  8. (图文教程)IntelliJ IDEA 导入Eclipse/MyEclipse 项目 配置详解+快捷键分享

    (图文教程)IntelliJ IDEA 导入Eclipse/MyEclipse 项目 配置详解+快捷键分享 IntelliJ IDEA 使用教程.快捷键配置. 该教程针对原始jar包依赖的工程.mav ...

  9. 使用vue-cli脚手架创建的项目结构详解

    项目整体目录结构预览 src目录 src整体结构 开发过程中基本上操作都在该目录下进行操作的,项目所有源码都是在这个目录下 main.js文件,项目核心文件 App.vue文件,项目入口文件 rout ...

随机推荐

  1. linux限制内存和磁盘使用

    一.如何限制用户的磁盘空间 1. 查看系统中所有用户的磁盘空间配额 sudo repquota /dev/vda1 2. 查看某个用户的磁盘空间配额 sudo edquota user_name 要想 ...

  2. BZOJ 4892 [Tjoi2017]dna 哈希+二分

    自己简直是傻死了...对于位置想错了... 二分出来的是LCP长度$+1$,即每一次二分出来的最后一个点都是失配的,而就算失配也会跳过这个点:所以当$k<=3$且模式串$s2$的指针$>l ...

  3. spark shell start

    spark-shell \--master yarn \--deploy-mode client \--queue default \--driver-memory 1G \--executor-me ...

  4. selenium框架安装及webdriver安装

    本文介绍的是selenium安装及webdriver安装.小实例 1.selenium介绍 selenium是一个用于web应用程序测试的工具. Selenium测试直接运行在浏览器,就向真正的用户操 ...

  5. Jmeter-性能测试工具

    0.概念和备注 //基本使用流程 测试计划-->右键 添加-> Threads(Users) --> 选择线程组 -->线程组-->右键 添加 --> Sample ...

  6. 批量 多个JPG生产PDF .net C#

    using iTextSharp.text; using iTextSharp.text.pdf; using System; using System.Collections.Generic; us ...

  7. StringMVC返回字符串

    @RequestMapping(value="twoB.do") public void twoBCode(HttpServletRequest request,HttpServl ...

  8. Swift-字符串

    1.字符串的遍历 //NSString 不支持一下字符串的遍历 let str = "我要飞的更高" for c in str.characters{ print(c) } 2.字 ...

  9. erlang通讯解析浮点数的一些问题

    这两天我弟弟遇到一个比较有意思的问题.他在前端协定数据协议的时候用到了float和double,所以他想问float和double在erlang后端中是如何解析的.我之前写协议也很少用到浮点数,所以也 ...

  10. Magento 中一个订单的“生命历程”

    当我们在网上愉快的买买买的时候, 你知道在这些屏幕“背后”正在进行着什么吗? 1. 当一个产品被加入到购物车后, 实际上发生了什么? 当第一个产品被加入到购物车, 系统首先会生成一个 quote (q ...