亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

打通前后端構建一個Vue+Express的開發環境

2019-11-19 13:29:09
字體:
來源:轉載
供稿:網友

前端做多了,自然就會想往后端伸手。更何況現在有了Node和Express,讓前端做后端開發的學習降低了不少。

最近正好攬下了一個 Vue + Express + mysql 的小項目。項目開始時是前后端分開開發的,但是當后臺做好一部分要進行連接測試時問題就來了。前端部分在每次修改過就需要build一次,而后臺也每次需要重啟一次服務器才能進行調試。可想而知,這樣的開發和調試效率是很低的。在這么煎熬著做了一個功能之后,實在受不了。于是便想有沒有什么方法可以熱更新開發前后端。畢竟 vue-cli 在調試時,后臺就是用 express 做的服務器。

在網上搜索了一下,發現果然有前輩們已經想到這個問題,并做了一個 Vue + Express 的開發環境。

可以參考這篇文章:從零開始搭建 Express + Vue 開發環境

原理的話可以參考這篇文章,主要就是通過修改 webpack 的配置文件來達到同時開發前后臺的目的。于是果斷去 Fork 了作者在 Github 上的項目。 clone 下來運行之后發現,雖然熱更新是沒有問題了,但是對于前端 Vue 的部分來說,由于沒有build,因此是無法打包變為生產環境的。那么為了走完這一步,便自己動手對項目進行了改造。

改造后的版本: 可 build 版 Vue + Express 開發環境 求個Star也歡迎批評指教

改造后目錄

其中關于 webpack 的配置,沒有使用原項目的配置文件,而是幾乎將 vue-cli 生成的項目的配置文件都拷過來使用的。
這里需要注意的是,下面幾個配置文件的所引用的位置變更一下即可。

server/index.js

這是 express 服務器的入口,在這里需要修改的地方主要有兩個。引用 webpack 配置文件的路徑,以及靜態頁面的設置。

import express from 'express'import path from 'path'import favicon from 'serve-favicon'import logger from 'morgan'import cookieParser from 'cookie-parser'import bodyParser from 'body-parser'import webpack from 'webpack'import webpackDevMiddleware from 'webpack-dev-middleware'import webpackHotMiddleware from 'webpack-hot-middleware'import config from '../../build/webpack.dev.conf' //這里指向 vue-cli 拷貝過來的配置文件const app = express()// view engine setup 模板文件,根據具體情況添加// app.set('views', path.join(__dirname, 'views'))// app.set('view engine', 'jade')// uncomment after placing your favicon in /publicapp.use(favicon(path.join(__dirname, 'public', 'favicon.ico')))app.use(logger('dev'))app.use(bodyParser.json())app.use(bodyParser.urlencoded({ extended: false }))app.use(cookieParser())app.use(express.static(path.join(__dirname, 'public')))const compiler = webpack(config)app.use(webpackDevMiddleware(compiler, { publicPath: config.output.publicPath, stats: { colors: true }}))app.use(webpackHotMiddleware(compiler))// 引用最后的靜態文件app.use(express.static(path.join(__dirname, 'views')))app.get('/', function (req, res) { res.sendFile('./views/index.html')})app.listen(4000)export default app

webpack.dev.conf.js / webpack.prod.conf.js

這兩個文件中,也只要修改一下最后代碼注入的模板的路徑即可。以 webpack.dev.conf.js 為例。

var utils = require('./utils')var webpack = require('webpack')var config = require('../config')var merge = require('webpack-merge')var baseWebpackConfig = require('./webpack.base.conf')var HtmlWebpackPlugin = require('html-webpack-plugin')var FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')// add hot-reload related code to entry chunksObject.keys(baseWebpackConfig.entry).forEach(function (name) { baseWebpackConfig.entry[name] = ['./build/dev-client'].concat(baseWebpackConfig.entry[name])})module.exports = merge(baseWebpackConfig, { module: {  rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap }) }, // cheap-module-eval-source-map is faster for development devtool: '#cheap-module-eval-source-map', plugins: [  new webpack.DefinePlugin({   'process.env': config.dev.env  }),  // https://github.com/glenjamin/webpack-hot-middleware#installation--usage  new webpack.HotModuleReplacementPlugin(),  new webpack.NoEmitOnErrorsPlugin(),  // https://github.com/ampedandwired/html-webpack-plugin  new HtmlWebpackPlugin({   filename: 'index.html',   // 這里的路徑需要重新指定為現在的路徑   template: 'src/server/views/index.html',   inject: true  }),  new FriendlyErrorsPlugin() ]})

因為是按照 vue-cli 生成出的目錄來拷貝的,因此其余的文件都不需要做任何的修改。

接下來只要試著運行一下就可以了。

運行開發模式:

npm run dev

打包前端代碼:

npm run build

打包完之后,只要稍微修改一下 express 啟動的 js 文件就可以變為正式上線的版本了。如此一來,就能很輕松愉快地進行全棧的開發了。個人感覺至少可以提高30%吧。所以各位不來試一試嗎?

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品日韩电影| 亚洲香蕉在线观看| 亚洲欧美一区二区激情| 欧美乱大交做爰xxxⅹ性3| 正在播放国产一区| 国产免费成人av| 欧美一级淫片aaaaaaa视频| 青青久久aⅴ北条麻妃| 精品福利樱桃av导航| 日韩成人激情影院| 亚洲人高潮女人毛茸茸| 国产日韩中文字幕| 欧美激情网站在线观看| 欧美激情精品久久久久久久变态| 69视频在线免费观看| 成人xvideos免费视频| 福利一区视频在线观看| 精品久久久一区二区| 国产精品视频26uuu| 久久久久久999| 国内精品视频一区| 国产欧美久久久久久| 91精品免费视频| 国产精品jvid在线观看蜜臀| 97视频在线观看视频免费视频| 国产精品日韩欧美综合| 欧美国产精品人人做人人爱| 亚洲天堂免费观看| 精品电影在线观看| 日韩电影中文字幕在线| 国产偷亚洲偷欧美偷精品| 日韩最新av在线| 国产91亚洲精品| 亚洲男女自偷自拍图片另类| 亚洲精品视频网上网址在线观看| 亚洲精品日韩在线| 日本一区二区在线播放| 操人视频在线观看欧美| 欧美激情精品久久久久久黑人| 久久久精品亚洲| 91免费国产视频| 久久久久免费视频| 欧美激情2020午夜免费观看| 久久久久中文字幕2018| 精品亚洲一区二区三区在线观看| 欧美中文字幕在线播放| 黑人巨大精品欧美一区二区| 欧美色播在线播放| 国产91免费观看| 日韩精品极品毛片系列视频| 亚洲激情小视频| 国产精品久久久久久搜索| 北条麻妃一区二区在线观看| 色播久久人人爽人人爽人人片视av| 国产精品久久久久久亚洲影视| 国产免费一区视频观看免费| 最近2019免费中文字幕视频三| 中文字幕视频在线免费欧美日韩综合在线看| 久久网福利资源网站| 久久人人97超碰精品888| 亚洲人成毛片在线播放| 日韩精品欧美国产精品忘忧草| 久久免费视频在线观看| 国产精品毛片a∨一区二区三区|国| 国产精品欧美激情在线播放| 亚洲图片在区色| 日韩电影中文字幕一区| 97免费在线视频| 原创国产精品91| www日韩欧美| 日韩有码在线播放| 日韩精品极品毛片系列视频| 日韩欧美有码在线| 久久精品中文字幕免费mv| 国产精品美腿一区在线看| 国产精品美腿一区在线看| 丁香五六月婷婷久久激情| 欧美成人午夜剧场免费观看| 精品综合久久久久久97| 欧美不卡视频一区发布| 日本最新高清不卡中文字幕| www.亚洲人.com| 成人黄色短视频在线观看| 亚洲图片欧洲图片av| 欧美日本精品在线| 欧美日韩一区二区三区在线免费观看| 78色国产精品| 欧美成人激情在线| 欧美精品免费在线| 精品久久久久久中文字幕大豆网| 亚洲第一网站男人都懂| 2019中文字幕全在线观看| 久久av红桃一区二区小说| 另类图片亚洲另类| 日韩av123| 日韩av最新在线观看| 欧美一区二区三区……| 国产精品国产三级国产专播精品人| 久久久噜噜噜久久久| 久久国产精品亚洲| 国产精品精品视频一区二区三区| 亚洲自拍偷拍第一页| 国产精品久久91| 国产精品福利在线观看网址| 欧美日韩免费网站| 亚洲成人动漫在线播放| 亚洲一区二区三区四区在线播放| 久久久久久久久久久av| 国产精品∨欧美精品v日韩精品| 九九久久综合网站| 91免费欧美精品| 亚洲香蕉在线观看| 成人做爰www免费看视频网站| 亚洲成人动漫在线播放| 国产精品久久久久福利| 亚洲国产成人91精品| 久久久人成影片一区二区三区观看| 中文字幕日韩在线视频| 日韩在线高清视频| 91天堂在线观看| 久久精品久久久久| 国产999视频| 午夜精品免费视频| 午夜精品99久久免费| 久久av资源网站| 日本一区二区三区四区视频| 久久久久免费精品国产| 国产精品国内视频| 4438全国亚洲精品在线观看视频| 久久精品青青大伊人av| www.国产精品一二区| 国产精品电影网站| 久久精品国产成人精品| 成人激情视频小说免费下载| 亚洲精品国精品久久99热一| 日韩hd视频在线观看| 亚洲第一男人天堂| 欧美大片免费看| 亚洲最大福利视频网| 少妇激情综合网| 久久久久久久激情视频| 国产成一区二区| 亚洲2020天天堂在线观看| 亚洲欧美综合另类中字| 91精品国产91久久久久久久久| 国产精品扒开腿做爽爽爽的视频| 米奇精品一区二区三区在线观看| 欧美日韩国产精品一区二区三区四区| 97国产真实伦对白精彩视频8| 久久精视频免费在线久久完整在线看| 亚洲精品在线看| 欧美精品制服第一页| 国产精品99免视看9| 亚洲精品国产suv| 国产精品吊钟奶在线| 2019国产精品自在线拍国产不卡| 久久久久久国产精品久久| 国产精品网址在线| 97久久精品视频| 国产精品国产亚洲伊人久久| 一区二区三区视频免费| 欧美高清视频在线播放| 日韩视频亚洲视频| 国产日韩在线一区|