一步一步使用webpack搭建项目
MPA |-src
|-main.js 项目打包的入口文件
|-App.vue 项目的根组件(项目一启动,见到的第一个页面)
|-package.json 项目的描述文件,用于记录安装了哪些包
|-webpack.config.dev.js 开发阶段webpack的配置文件
切换到根目录,使用 npm init -y 生成package.json
tips:vue项目跟react项目目录结构基本一致
二:
webpack-dev-server & webpack的区别
webpack-dev-server :【内部开启了一个node服务】
开发阶段使用,它是在webpack基础上又封装了一把,webpack有的功能它都有,并且
还拓展了一些,打包生成的bundle.js及index.html都是发布到它内部开启的node服务
上面去了 webpack:生产阶段,它是在整个项目做完了之后,接下来,打包生成可以上线的
静态资源
注意:webpack的版本和webpack-dev-server的版本是需要对应的,否则会报错
webpack 3.x版本 对应 webpack-dev-server2.x
webpack 4.x版本 对应 webpack-dev-server3.x
三:
package.json 和 package-lock.json 作用分析
1.package.json 文件里记录有项目所安装的依赖项,当 node_modules 被删除时,可以再根据该文件安装所需的依赖项; 2.npm 5 以前不会有 package-lock.json 这个文件,npm5 之后才加入这个文件; 3.当安装包的时候,npm 都会生成或者更新 package-lock.json 这个文件; 4.npm 5 之后的版本安装包的时候不需要加 --save 参数,它会自动保存依赖的信息; 5.当安装包的时候,会自动创建或者更新 package-lock.json 文件; 6.package-lock.json 文件会保存 node_modules 中所有包的信息(版本、下载地址),重新 npm install 的时候速度会提升; 7.文件的名称有 lock ,表示该文件可以用来锁定版本号,防止自动升级新版。
四:
使用 webpack-dev-server 和 html-webpack-plugin 运行我们的项目
html-webpack-plugin
以一个参考文件为模版,生成index.html,并且会自动发布到webpack-dev-server开启的node
服务上面去 参考:https://github.com/jantimon/html-webpack-plugin 步骤:
1、在根目录下面,创建一个template.html,里面写上id=app的div 2、在webpack.config.dev.js中的plugins中写代码 webpack-dev-server
放在package.json中的scripts中去 webpack-dev-server --progress --config webpack.config.dev.js --port 6008 --open --hot --port 指定node服务运行的端口号
--open 把我们项目运行在浏览器中,并且自动打开浏览器
--hot 实现热重载/热替换/热更新/热加载 最终运行,切换到根目录,运行 npm run dev
五:
第一次安装
包:vue
应用场景:我们要去运行App.vue
安装方式:npm i vue -S 第二次安装
包:vue-loader vue-template-compiler css-loader style-loader
应用场景:我们要打包.vue结尾的文件
安装方式:npm i vue-loader vue-template-compiler css-loader style-loader -D 第三次安装
包:html-webpack-plugin webpack@3.11.0 webapck-dev-server@2.11.1
应用场景:我们到时候运行打包出来的bundle.js
安装方式:npm i html-webpack-plugin webpack@3.11.0 webpack-dev-server@2.11.2 -D
一步一步使用webpack搭建项目的更多相关文章
- vue-cli+ webpack 搭建项目todolist
本文接着之前的todolist例子,通过vue-cli + webpack 搭建项目:针对于vue-cli 2.x版本,更高版本找官网https://cli.vuejs.org/guide/insta ...
- 《后端也要懂一点前端系列》使用webpack搭建项目
今天突然有兴致想要学习一下前端的技术,所以特此记录学习前端之路.由于之前在公司做的项目大部分都是关于JSP页面的增删改查,所以前端后端都是一个人来写的,对于前端还只是停留在js.html.css阶段, ...
- react+webpack搭建项目
一.环境准备 ①node ②npm 二.开始搭建 ①使用npm安装create-react-app工具,在cmd命令行中输入: npm install -g create-react-app ②使用命 ...
- vue+webpack搭建项目
1.全局安装node.js 2.安装vue-cli 可以在项目目录安装 npm install -g vue-cli 使用vue-list命令选择webpack模板 vue init webpack ...
- webpack搭建项目时出现的报错“Module build failed (from ./node_modules/css-loader/dist/cjs.js) CssSyntaxError”
控制台出现的错误如下: webpack.config.js中的配置如下: module.exports={ entry:'./src/main.js', output:{ path:__dirname ...
- 用react+redux+webpack搭建项目一些疑惑
--save-dev开发用 例如:webpack --save开发和发布用 例如:react
- vue2.0 使用webpack搭建项目遇到的最搞笑的坑
报错如下: 源码: 然后找了半天没搞明白... 无意中翻看了一下ES6语法规则.. 然后我发现:源代码最后一行要空一行,我心想这什么狗屁规定?MMP
- vue-cli搭建项目的目录结构及说明
vue-cli基于webpack搭建项目的目录结构 build文件夹 ├── build // 项目构建的(webpack)相关代码 │ ├── build.js ...
- SpringBoot+MyBatisPlus+ElementUI一步一步搭建前后端分离的项目(附代码下载)
场景 一步一步教你在IEDA中快速搭建SpringBoot项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/87688277 ...
随机推荐
- MFC无法使用CDialogEx类
在stdafx.h中添加以下代码: #include <afxcontrolbars.h>
- Python 数据处理库pandas教程(最后附上pandas_datareader使用实例)
0 简单介绍 pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库.本文是对它的一个入门教程. pandas提供了快速,灵活和富有 ...
- Tomcat中不能通过访问自己IP,但可以通过localhost/127.0.0.1访问
一.问题如下:局域网内,自己机器部署了一个tomcat应用,在本机上可以通过如下方式访问引用. http://localhost:8080/xxxx http://127.0.0.1:8080/xx ...
- Sublime实现自动排版
sublime功能很强大, 但是使用sublime就可以实现代码自动重新缩进,使代码缩进重排 方法:Ctrl+A选中全部内容,然后在菜单中选择Edit->Line->Reindent
- html使用网络图片防盗问题解决
解决mkdocs图片防盗问题 前言 我在mkdocs上的图片是使用博客园上的,部署后无法正常显示.度娘了一下,只用在<head>后插入<meta name="referre ...
- Advanced REST Client 的安装
1.解压Advanced-REST-client_v3.1.9.zip到当前文件夹,得到Advanced-REST-client_v3.1.9目录 2.在Chrome浏览器中打开:chrom ...
- WebUploader 上传图片回显
/* fileMaxCount 最大文件数 buttonText 按钮文本 multiple 是否多选 */ (function ($) { $.fn.extend({ uploadImg: func ...
- C# async 和 await 理解
C# async 和 await 理解 先假设如下场景: 主函数 Main,循环等待用户输入: 计算函数 Cal,耗时计算大量数据: class Test { static int Main(stri ...
- 前端开发 Vue -4promise解读2
https://www.runoob.com/vue2/vue-tutorial.html promise promise是什么? 1.主要用于异步计算 2.可以将异步操作队列化,按照期望的顺序执 ...
- Ubuntu下编译 Hadoop2.9
Ubuntu 下编译 Hadoop-2.9.2 系统环境 系统: ubuntu-18.10-desktop-amd64 maven: Apache Maven 3.6.0 jdk: jdk_1.8.0 ...