webpack4.x ,1基本项目构建 详解
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基本项目构建 详解的更多相关文章
- 开源项目MultiChoiceAdapter详解(六)——GridView和MultiChoiceBaseAdapter配合使用
这篇其实没啥重要的,主要就算是个总结吧. 一.布局文件 这里实现的是类似于上图的多图选择的效果.关键在于item布局文件的写法.这也就是这个框架奇葩的一点,莫名其妙的要在一个自定义控件里面再放一个自定 ...
- 开源项目MultiChoiceAdapter详解(五)——可扩展的MultiChoiceBaseAdapter
上次写到了开源项目MultiChoiceAdapter详解(四)——MultiChoiceBaseAdapter的使用,其实我们仍旧可以不使用ActionMode的,所以这里就写一个自己扩展的方法. ...
- 开源项目MultiChoiceAdapter详解(四)——MultiChoiceBaseAdapter的使用
MultiChoiceBaseAdapter是一个可以多选的BaseAdapter,使用的方式相比来说扩展性更强! 使用方式: 1.布局文件 2.写一个类继承MultiChoiceBaseAdapte ...
- 开源项目MultiChoiceAdapter详解(三)——MulitChoiceNormalArrayAdapter的使用
MulitChoiceNormalArrayAdapter是我自己定义的一个类,其实就是实现了MulitChoiceArrayAdapter,为什么做这个简单的实现类呢,因为这样我们在不用Action ...
- 开源项目MultiChoiceAdapter详解(二)——MultiChoiceArrayAdapter的使用
MultiChoiceArrayAdapter其实就是可以多选的ArrayAdapter了,ArrayAdpter我们已经很熟悉了.MultiChoiceArrayAdapter这个类是抽象类,所以使 ...
- 开源项目MultiChoiceAdapter详解(一)——概要介绍
项目地址:https://github.com/ManuelPeinado/MultiChoiceAdapter 这个项目主要是提供了一个多选适配器,使用者可以用它来替换传统的适配器,用途还算比较广泛 ...
- 《TensorFlow学习指南深度学习系统构建详解》英文PDF+源代码+部分中文PDF
主要介绍如何使用 TensorFlow 框架进行深度学习系统的构建.涉及卷积神经网络.循环神经网络等核心的技术,并介绍了用于图像数据和文本序列数据的模型.给出了分布式深度学习系统在TensorFlow ...
- (图文教程)IntelliJ IDEA 导入Eclipse/MyEclipse 项目 配置详解+快捷键分享
(图文教程)IntelliJ IDEA 导入Eclipse/MyEclipse 项目 配置详解+快捷键分享 IntelliJ IDEA 使用教程.快捷键配置. 该教程针对原始jar包依赖的工程.mav ...
- 使用vue-cli脚手架创建的项目结构详解
项目整体目录结构预览 src目录 src整体结构 开发过程中基本上操作都在该目录下进行操作的,项目所有源码都是在这个目录下 main.js文件,项目核心文件 App.vue文件,项目入口文件 rout ...
随机推荐
- JOS lab1 part2 分析
lab1的Exercise 2就是让我们熟悉gdb的si操作,并知道BIOS的几条指令在做什么就够了,所以我们也会尽可能的去分析每一行代码. 首先进入到6.8282/lab这个目录下,输入指令make ...
- poj 1236 Network of Schools (强连通分量+缩点)
题目大概: 每个学校都可以把软件复制好,交给它名单上的学校. 问题A:把软件复制成几份,然后交给不同的学校,所有学校才能够都有软件. 问题B:添加几条边,能使得这个图变成强连通图. 思路: 找出所有的 ...
- python 用turtle 画小猪佩奇
from turtle import * def nose(x,y):#鼻子 penup()#提起笔 goto(x,y)#定位 pendown()#落笔,开始画 setheading(-30)#将乌龟 ...
- 10----padding(内边距)
padding padding:就是内边距的意思,它是边框到内容之间的距离 另外padding的区域是有背景颜色的.并且背景颜色和内容的颜色一样.也就是说background-color这个属性将填充 ...
- springcloud中常用的注解@
@SpringBootApplication是springboot启动类,包括三个注解,他们的作用分别是: @Configuration:表示将该类作用springboot配置文件类 @EnableA ...
- 是时候搞清楚 Spring Boot 的配置文件 application.properties 了!
在 Spring Boot 中,配置文件有两种不同的格式,一个是 properties ,另一个是 yaml . 虽然 properties 文件比较常见,但是相对于 properties 而言,ya ...
- ElasticSearch搜索demo
ElasticSearch版本:1.4.1 分词:ik jdk:1.7.67 开发工具:Eclipse 系统:win7 忙活了几天,使用ES做成,就是页面有点丑,demo页面如下: 1.搜索主页 2. ...
- Java并发包——线程同步和锁
Java并发包——线程同步和锁 摘要:本文主要学习了Java并发包里有关线程同步的类和锁的一些相关概念. 部分内容来自以下博客: https://www.cnblogs.com/dolphin0520 ...
- struts2的执行流程
在浏览器端输入相应的访问地址>>>>把请求发送给tomact>>>>tomact判断应该交给那个webApplication>>>&g ...
- 一、基础知识 React API 一览
1.10 Hooks 参考文章:https://juejin.im/post/5be3ea136fb9a049f9121014 demo: /** * 必须要react和react-dom 16.7以 ...