webpack 构建简单的vue项目
---恢复内容开始---
webpack主要执行流程:
入口→loader处理→出口
// webpack.config.js 文件:
const path = require('path') // 引入path模块
module.exports = {
"entry": "./src/main.js", // 入口文件
"output": {
"filename": 'bundle.js', // 打包后文件名字
"path": path.resolve(__dirname, "dist"), // 出口文件路径
"publicPath": "/dist" // 虚拟打包后文件路径。热替换时有用。打包文件不写入磁盘,存在虚拟文件夹中,以便于修改文件后及时反馈在网页上。
},
"module": {
"loaders":[{
"test": /\.css$/, // css文件需要style-loader,css-loader
"loader": ["style-loader","css-loader"],
"exclude": '/node_modules' // 不需要编译node_modules
},{
"test": /\.js$/,
"loader": 'babel-loader', // js文件使用babel-loader 转换。
"exclude": '/node_modules'
},{
"test": /\.vue$/, // 遇到vue文件使用vue-loader。vue-loader需要依赖其他loader 下载后会有提示
"loader": 'vue-loader',
"exclude": '/node_modules'
}]
},
resolve: {
alias: { // 别名设置
'vue$': 'vue/dist/vue.esm.js', // 运行时构建必用。
'@': path.resolve('src') // @代表src目录
}
},
devServer: { // 服务器设置
// contentBase: '', 这个键 主要作用是静态服务器入口文件夹。如果不设置,相当于项目目录。如果有index.html 会直接找到index.html并且打开。
hot: true, // 热切换
historyApiFallback: true, // 单页应用找不到时回滚到index.html
inline: true
}
}
// 多文件入口
"entry": {
"first":"./src/entry/first.js", // key为文件名,对应出口[name].js 中的name
"second": './src/entry/secend.js' // value 为入口文件路径。
},
plugins: [
new HtmlWebpackPlugin ({ // 这个插件能在打包的时候,自动生成html文件,并且放入出口path中。并且sript src 引入所有打包的js文件。
filename: 'second.html', // 生产的html文件名字。
// template: 'test.html',
inject: true
}),
new HtmlWebpackPlugin({ // 2次实例化,生成2个html文件
filename: 'first.html',
inject: true
})
],
"output": {
"filename": '[name].js', // 出口文件名字,对于入口的key值
"path": path.resolve(__dirname, "./dist"),
"publicPath": "/dist"
},
// package.json
// 这儿有了webpack,不再需要main字段。设置scripts字段。这儿用npm run dev 可运行dev键 后面的代码。
"scripts": {
"dev": "webpack-dev-server --inline --hot", // 启动webpack调试服务器,只重新渲染修改部分,修改后立即刷新。
"build": "webpack -p" // webpack打包,并且文件压缩文件。
},
// .babelrc
{
presets:['stage-2'] // 这儿stage 一共5个阶段,stage-5 不存在,为es2015 ,stage-0 最高,阶段数字越小,技术越新,但是新技术不稳定,可能未来会被淘汰。一般选stage-2
}
现在就可以用npm run dev 启动调试,npm run build 启动打包。
---恢复内容结束---
webpack 构建简单的vue项目的更多相关文章
- vue-cli+webpack搭建简单的vue项目框架
0.先去官网下载安装nodeJS 1.在cmd中输入命令 node -version 若出现node版本号 则安装成功 2.通过命令:cd 文件夹名 进入某具体文件夹后进行如下命令操作: ...
- 深入浅出的webpack构建工具--webpack4+vue搭建环境 (十三)
深入浅出的webpack构建工具--webpack4+vue搭建环境 (十三) 从上面一系列的webpack配置的学习,我们现在来使用webpack来搭建vue的开发环境.首先我们来设想下我们的项目的 ...
- 搭建Vue.js环境,建立一个简单的Vue项目
基于vue-cli快速构建 Vue是近年来比较火的一个前端框架,所以搭建Vue.js环境,要装webpack,vue-cli,Vue 安装webpack命令如下 $ cnpm install webp ...
- 使用webstorm+webpack构建简单入门级“HelloWorld”的应用&&引用jquery来实现alert
使用webstorm+webpack构建简单入门级"HelloWorld"的应用&&构建使用jquery来实现 1.首先你自己把webstorm安装完成. 请参考这 ...
- VSCode配置简单的vue项目
VSCode配置简单的vue项目 https://www.cnblogs.com/wnxyz8023/p/9989447.html 由于最近要使用的项目框架为前后端分离的,采用的是vue.js+web ...
- 使用VSCode配置简单的vue项目
由于最近要使用的项目框架为前后端分离的,采用的是vue.js+webAPI的形式进行开发的.因为之前我没有接触过vue.js,也只是通过视频文档做了一些简单的练习.今天技术主管说让大家熟悉下VSCod ...
- 使用webstorm+webpack构建简单入门级“HelloWorld”的应用&&构建使用jquery来实现
使用webstorm+webpack构建简单入门级“HelloWorld”的应用&&构建使用jquery来实现 1.首先你自己把webstorm安装完成. 请参考这篇文章进行安装和破解 ...
- 三、使用VSCode配置简单的vue项目
由于最近要使用的项目框架为前后端分离的,采用的是vue.js+webAPI的形式进行开发的.因为之前我没有接触过vue.js,也只是通过视频文档做了一些简单的练习.今天技术主管说让大家熟悉下VSCod ...
- 三、使用Maven构建简单的java项目
前边,我刚搭建了Maven环境,还有给大家推荐了学习资源,这个小节,我们来就来,,简单的玩玩maven. 1.所需工具: 1.Eclipse 2.apache-maven-3.3.9 3. ...
随机推荐
- PHPstorm 如何新增项目
如何在PHPstorm新增项目 1.打开设置 2.找到Directories ,点击增加路径
- 直播一:H.264编码基础知识详解
一.编码基础概念 1.为什么要进行视频编码? 视频是由一帧帧图像组成,就如常见的gif图片,如果打开一张gif图片,可以发现里面是由很多张图片组成.一般视频为了不让观众感觉到卡顿,一秒钟至少需要16帧 ...
- DOMContentLoaded、readystatechange、load、ready详谈
对前端同学而言,loade,unload,DOMContentLoaded等页面加载过程中会触发的事件肯定是都接触过,不过要是具体问各个事件的区别,我就不是那么能清晰的解答上来的了.正好刚刚在无阻塞脚 ...
- java环境变量配置原理解析以及eclipse导入外包的方法
1. PATH环境变量.作用是指定命令搜索路径,在命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序.我们需要把jdk安装目录下的bin目 ...
- ElasticSearch 学习记录之集群分片内部原理
分片内部原理 分片是如何工作的 为什么ES搜索是近实时性的 为什么CRUD 操作也是实时性 ES 是怎么保证更新被持久化时断电也不丢失数据 为什么删除文档不会立即释放空间 refresh, flush ...
- java学习笔记之String类
String类总结 String类概述: java.lang.String 类是字符串操作类 String类的常用构造方法: //1.直接赋值 String str= "hellojava& ...
- object-fit?
知道有这个属性存在,是一个很偶然的机会.有一天,设计部的一个小伙伴给了我一个网址,说很有个性,让我看一下,当发现一个很有意思的效果时,作为一个前端小兵的我当然是第一时间开始审查元素,然后看到了这个从没 ...
- Winform开发中如何将数据库字段绑定到ComboBox控件
最近开始自己动手写一个财务分析软件,由于自己也是刚学.Net不久,所以自己写的的时候遇到了很多问题,希望通过博客把一些印象深刻的问题记录下来. Winform开发中如何将数据库字段绑定到ComboBo ...
- Android Things 专题6 完整的栗子:运用TensorFlow解析图像
文| 谷歌开发技术专家 (GDE) 王玉成 (York Wang) 前面絮叨了这么多.好像还没有一个整体的概念.我们怎样写一个完整的代码呢? 如今深度学习非常火,那我们就在Android Things ...
- springboot定时任务——整合Quartz
http://blog.csdn.net/liuchuanhong1/article/details/60873295 http://blog.csdn.net/lyg_come_on/article ...