因浏览器缓存原因导致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的欢迎界面了。 ---------------------