因浏览器缓存原因导致vue 打包的文件 导致偶尔会出现不能即使更新最新代码。因此在打包的文件名中添加一个版本号以便浏览器能区分。
解决方法:找到webpack .prod.conf.js
1.定义版本变量: const Version = new Date().getTime(); // 这里使用的是时间戳 来区分 ,也可以自己定义成别的如:1.1
2.修改要生成的js和css文件的配置项,把刚刚声明的版本拼接进要生成的文件名中;
output: {
path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].[chunkhash].' + Version + '.js'),
chunkFilename: utils.assetsPath('js/[id].[chunkhash].' + Version + '.js')
},
然后直接 npm run build 打包后 就可以看到dist 文件里的js 文件名带上里版本号
1、首先用vue-cli初始化项目目录
vue init webpack pro-name
cd pro-name && npm install
npm run dev
看到127.0.0.1:8080端口出现vuejs的欢迎界面表示成功。
到这里,前端vue的部署就完成了。
2、安装部署express
npm install express body-parser --save
然后在项目的根目录添加app.js 作为启动express服务器的代码
const express = require('express')
const app = express()
app.use('/',(req,res) => {
res.send('hello express!')
})
app.listen(3000,() => {
console.log('app listening on port 3000.')
})
执行:node app.js
打开浏览器访问127.0.0.1:3000,出现“hello express” 者说明express部署成功
3、对vue进行打包
执行:npm run build
打包后的文件存放于dist文件夹中,vue经过webpack打包之后生成dist文件夹,里面有个index.html,他是前端页面和服务端的对接页面。
4、修改app.js
在express中加入app.use(express.static(path.join(__dirname, 'dist')));app.js 代码如下:
const express = require('express')
const path = require('path')
const app = express()
app.use(express.static(path.join(__dirname, 'dist')))
app.listen(3000,() => {
console.log('app listening on port 3000.')
})
5、启动express
在启动express之前,需要修改packge.json 里面的配置:
"scripts": {
"dev": "node build/dev-server.js",
"build": "node build/build.js",
"server": "nodemon app.js",
"start": "node app.js"
},
然后执行:npm run start
此时就可以通过127.0.0.1:3000访问到vue的欢迎界面了。
---------------------