如何成为Voting Node(VN)的最终德国人获胜获胜?

架构(MongoDB + Express + Vue + NODEJS)制作网站
MEVN 架构是 MongoDB + Express + Vue + NODEJS 搭建的网站架构。四个部分都可以用JavaScript实现。
一个完整的网站服务架构包括web frame, web server, Database, 以及前端展示实现。这里有一篇知乎答案,讲一个网站的整个访问流程,讲的很清晰。
在这个架构里,web server 就是nodejs,webframe 就是express,database是mongoDB,前端展示用了vue。我们一个一个来搭建。
我们在这里模拟实现一个登录功能。
功能很简单,填写完账号密码点击登录按钮,就把账号密码插入数据库,并且查出现在已经有哪些数据。
Database MongoDB
brew install mongodb
mongod --config /usr/local/etc/mongod.conf
这时只是启动了Mogod,链接数据库需要再另外的窗口执行
MongoDB shell version v3.4.1
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.1
Welcome to the MongoDB shell.
这个地址mongodb://127.0.0.1:27017就是我们本机的mogo数据库地址
使用 Vue-cli 生成一个vue框架
安装Vue-Cli
npm i -g vue-cli
去到你想要放置项目的目录,进行初始化
vue init webpack XXX(你想要项目的名字)
按提示一直下一步,完成后按提示
npm install (这里建议使用淘宝镜像cnpm,不然墙外的东西……)
npm run dev
由于需要使用http请求,安装一个vue-resource工具。
在main.js中使用
import vueResource from 'vue-resource'
Vue.use(vueResource)
使用npm安装
npm install express –save
搭建node服务器环境
在项目的根目录新建一个叫server的目录,用于放置Node的东西。进入server目录,再新建三个js文件:
index.js (入口文件)
db.js (设置数据库相关)
api.js (编写接口)
// 引入编写好的api
const api = require('./api');
// 引入文件模块
const fs = require('fs');
// 引入处理路径的模块
const path = require('path');
// 引入处理post数据的模块
const bodyParser = require('body-parser')
// 引入Express
const express = require('express');
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use(api);
// 访问静态资源文件 这里是访问所有dist目录下的静态资源文件
app.use(express.static(path.resolve(__dirname, '../dist')))
// 因为是单页应用 所有请求都走/dist/index.html
app.get('*', function(req, res) {
const html = fs.readFileSync(path.resolve(__dirname, '../dist/index.html'), 'utf-8')
res.send(html)
// 监听8088端口
app.listen(8088);
console.log('success listen…………');
// Schema、Model、Entity或者Documents的关系请牢记,Schema生成Model,Model创造Entity,Model和Entity都可对数据库操作造成影响,但Model比Entity更具操作性。
const mongoose = require('mongoose');
// 连接数据库 如果不自己创建 默认test数据库会自动生成
mongoose.connect('mongodb://127.0.0.1:27017'); // 地址跟第一步的地址对应。
// 为这次连接绑定事件
const db = mongoose.
db.once('error',() =& console.log('Mongo connection error'));
db.once('open',() =& console.log('Mongo connection successed'));
/************** 定义模式loginSchema **************/
const loginSchema = mongoose.Schema({
account : String,
password : String
/************** 定义模型Model **************/
const Models = {
Login : mongoose.model('Login',loginSchema)
module.exports = M
// 可能是我的node版本问题,不用严格模式使用ES6语法会报错
"use strict";
const models = require('./db');
const express = require('express');
const router = express.Router();
/************** 创建(create) 读取(get) 更新(update) 删除(delete) **************/
// 创建账号接口
router.post('/api/login/createAccount',(req,res) =& {
// 这里的req.body能够使用就在index.js中引入了const bodyParser = require('body-parser')
let newAccount = new models.Login({
account : req.body.account,
password : req.body.password
// 保存数据newAccount数据进mongoDB
newAccount.save((err,data) =& {
if (err) {
res.send(err);
res.send('createAccount successed');
// 获取已有账号接口
router.get('/api/login/getAccount',(req,res) =& {
// 通过模型去查找数据库
models.Login.find((err,data) =& {
if (err) {
res.send(err);
res.send(data);
module.exports =
至此我们的后端代码就编写好了,进入server目录,敲上 node index命令,node就会跑起来,这时在浏览器输入就能访问到这个接口了
现在我们的本地开发环境的 web server的接口是 index.js 里的8088,但是本地的webpack生成的网页端口是8080,这两个不一致。需要进行代理(proxy)在config/index.js 中修改
proxyTable: {
target: 'http://localhost:8088/api/',
changeOrigin: true,
pathRewrite: {
'^/api': ''
这时,我们在前端接口地址前加上/api,就会指向,于是我们就能访问到后端的接口了!让我们来点击一下登录按钮,会发现接口请求成功了!再去数据库看看!也插入了一条新数据!成功!
前后端开发完成,最后一步,前端打包,后端部署。
前端打包就很简单了,一个命令:
npm run build 这就生成了一个dist目录,里面就是打包出来的东西。
现在回过头来看server里面的入口文件index.js
// 访问静态资源文件 这里是访问所有dist目录下的静态资源文件
app.use(express.static(path.resolve(__dirname, ‘../dist’)))
// 因为是单页应用 所有请求都走/dist/index.html
app.get(‘*’, function(req, res) {
const html = fs.readFileSync(path.resolve(__dirname, '../dist/index.html'), 'utf-8')
res.send(html)
// 监听8088端口
app.listen(8088);
这里的关键是express.static,利用 Express 托管静态文件。于是我们才能访问到前端打包出来的静态页面index.html。
最后,我们在浏览器输入,就会跳到index.html。
到此为止,我们就完成了整个前后端各自开发到正式部署的流程。
基于Vue2.0+Vuex+Axios+NodeJs+Express+MySQL实现京东移动web商城
| 做一个技术前沿的开发者,我们都知道Vue与NodeJs是现在很流行的前端框架及后端语言。前端架构
页面结构(H5,CSS3,原生JS)
框架(基于Vue脚手架:vue-cli)进行搭建
数据请求处...
从零搭建vue+express开发环境
该项目是在学习vue过程中,秉着前后端分离的态度,尝试着自己搭建vue+express环境搭建vue项目
安装vue-cli脚手架
npm install -g vue-cli
创建基于webpack...
用vuejs+nodejs+mongodb开发项目
用vuejs+nodejs+mongodb开发项目
一.后台部分
1.第一步,先安装node。传送门:http://www.runoob.com/nodejs/nodejs-install-setup...
vue全家桶+node+mongodb商城项目小结
webpack.base.conf.js
vue.js基础语法
mustache语法:{{msg}}
html赋值:v-html=&&
绑定属性:v-bind:id=&&
node.js 之 express框架+MongoDB(前端使用vue)
1. 下载安装node环境,Mac、linux、windows各不相同
2. 安装后输入: node -v查看,出现版本号则安装成功
3. 打开terminal,安装express框架,(为了更快速,...
一、项目初建的细节
1、webpack.bask.conf.js中有一段关于映射的配置: 其中 ‘@’就代表了src目录
resolve: {
extensions: ['.j...
*版权证明: 只允许上传png/jpeg/jpg/gif格式的图片,且小于3M
*详细原因:
交 &em&vue+node+mongodb&/em&博客 1积分 立即下载 ...
*版权证明: 只允许上传png/jpeg/jpg/gif格式的图片,且小于3M
*详细原因:
交 &em&Vue+Node+MongoDB&/em&高级全栈 5积分 立即下载 ...
最近学习了VUE,自己为了学习做了个小小的博客,功能很简单,不过开发过程中也遇到了很多坑,所以记录下来方便以后使用。欢迎大家交流学习。
实现了用户注册、登录、token检测登录...
express搭建nodeJS中间层(一)(二)
express搭建nodeJS中间层(一)
好了,准备了一周的理论知识和开发方案,nodeJS中间层搭建项目从今天就开始了。作为项目的负责人和初次尝试者,...
没有更多推荐了,2.1k 次阅读
一个完整的网站服务架构包括:1、web frame
---这里应用express框架2、web server ---这里应用nodejs3、Database
---这里应用monggoDB4、前端展示
---这里应用vue
首先我们要安装mongoDB(本例应用的mongoDB 3.4.7版本) 和 nodejs(本例应用的是nodejs v6.10.3) 具体安装步骤大家可以百度一下,网上安装示例很多,这里不过多讲解,以下我们重点讲解网站框架搭建操作。
对应以上要点一一作出解释及具体操作步骤:第一步:创建mongoDB数据库1、直接打开mongoDB安装目录下binmongod.exe文件,可见如下图,即为数据库服务启动成功
2、浏览器输入localhost:27017显示如下,证明数据库可用
第二步:生成vue框架1、全局生成vue框架,输入指令npm i -g vue-cli
2、创建自己的文件夹
3、项目初始化执行以下命令,自动创建目录 E:/workspace/test一路yes如下生成目录结构如下:
执行命令,进行项目初始化:cd testnpm install
4、在项目根目录src/main.js添加代码import vueResource from 'vue-resource'Vue.use(vueResource)如图所示
5、由于上一步添加代码vue-resource,这里要引入vue-resource执行命令如图所示执行后显示如下,则为正常执行
第三步:生成expressm框架1、执行命令npm install express,生成如下
第四步:搭建node服务器环境1、在项目的根目录新建一个叫server的目录,用于放置Node的东西。进入server目录,再新建三个js文件:index.js (入口文件)db.js (设置数据库相关)api.js (编写接口)
index.js文件代码:
// 引入编写好的api
const api = require('./api');
// 引入文件模块
const fs = require('fs');
// 引入处理路径的模块
const path = require('path');
// 引入处理post数据的模块
const bodyParser = require('body-parser')
// 引入Express
const express = require('express');
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use(api);
// 访问静态资源文件 这里是访问所有dist目录下的静态资源文件
app.use(express.static(path.resolve(__dirname, '../dist')))
// 因为是单页应用 所有请求都走/dist/index.html
app.get('*', function(req, res) {
const html = fs.readFileSync(path.resolve(__dirname, '../dist/index.html'), 'utf-8')
res.send(html)
// 监听8088端口
app.listen(8088);
console.log('success listen…………');
db.js文件代码:
// Schema、Model、Entity或者Documents的关系请牢记,Schema生成Model,Model创造Entity,Model和Entity都可对数据库操作造成影响,但Model比Entity更具操作性。
const mongoose = require('mongoose');
// 连接数据库 如果不自己创建 默认test数据库会自动生成
mongoose.connect('mongodb://127.0.0.1:27017'); // 地址跟第一步的地址对应。
// 为这次连接绑定事件
const db = mongoose.
db.once('error',() =& console.log('Mongo connection error'));
db.once('open',() =& console.log('Mongo connection successed'));
/************** 定义模式loginSchema **************/
const loginSchema = mongoose.Schema({
account : String,
password : String
/************** 定义模型Model **************/
const Models = {
Login : mongoose.model('Login',loginSchema)
module.exports = M
api.js文件代码:
// 可能是我的node版本问题,不用严格模式使用ES6语法会报错
"use strict";
const models = require('./db');
const express = require('express');
const router = express.Router();
/************** 创建(create) 读取(get) 更新(update) 删除(delete) **************/
// 创建账号接口
router.post('/api/login/createAccount',(req,res) =& {
// 这里的req.body能够使用就在index.js中引入了const bodyParser = require('body-parser')
let newAccount = new models.Login({
account : req.body.account,
password : req.body.password
// 保存数据newAccount数据进mongoDB
newAccount.save((err,data) =& {
if (err) {
res.send(err);
res.send('createAccount successed');
// 获取已有账号接口
router.get('/api/login/getAccount',(req,res) =& {
// 通过模型去查找数据库
models.Login.find((err,data) =& {
if (err) {
res.send(err);
res.send(data);
module.exports =
2、对比node_modules目录缺少body-parser模块和mongoose模块,因此要添加这两个模块执行命令:
3、至此我们的后端代码就编写好了,进入server目录,敲上 node index命令,node就会跑起来,这时在浏览器输入就能访问到这个接口了,执行命令如下:
4、现在我们的本地开发环境的 web server的接口是 index.js 里的8088,但是本地的webpack生成的网页端口是8080,这两个不一致。需要进行代理(proxy)在config/index.js 中修改
5、这时,重新启动项目我们在前端接口地址前加上/api,就会指向,于是我们就能访问到后端的接口了!
第五步:前后端开发完成,最后一步,前端打包,后端部署。1、前端打包就很简单了,一个命令: npm run build 这就生成了一个dist目录,里面就是打包出来的东西。 现在回过头来看server里面的入口文件index.js
最后,我们在浏览器输入,就会跳到index.html。
到此为止,我们就完成了整个前后端各自开发到正式部署的流程。
2 收藏&&|&&12
开发环境:我们在前端接口地址前加上/api,就会指向:8088/api/,于是我们就能访问到后端的接口了! 你用本地代理解决了
生产环境:接口代理的问题,你如何解决?(1)是使用ngnix来处理api的接口转发nodejs工程的端口上了?缺点:要学习的ngnix的配置,运维层面解决静态资源和接口访问的问题,对前端开发者不友好
(2)还是改造nodejs的api输出风格了,暴露给前端的api只是有非get方式,get方式匹配路径是“*”, 指向vuejs工程打包出来的dist静态目录下的index.html(vue-cli的npm run build),在express里配置一些静态目录指向dist即可缺点:要牺牲nodejs暴露api出去的方式,前端不能使用get方式调试接口,调试post接口 使用 postman插件 即可,对前端开发相对友好
开发环境:我们在前端接口地址前加上/api,就会指向http://localhost:8088/api/,于是我们就能访问到后端的接口了! 你用本地代理解决了
生产环境:
接口代理的问题,你如何解决?
(1)是使用ngnix来处理api的接口转发nodejs工程的端口上了?
缺点:要学习的ngnix的配置,运维层面解决静态资源和接口访问的问题,对前端开发者不友好
(2)还是改造nodejs的api输出风格了,暴露给前端的api只是有非get方式,get方式匹配路径是“*”, 指向vuejs工程打包出来的dist静态目录下的index.html(vue-cli的npm run build),在express里配置一些静态目录指向dist即可
缺点:要牺牲nodejs暴露api出去的方式,前端不能使用get方式调试接口,调试post接口 使用 postman插件 即可,对前端开发相对友好
第二种方式适合大多数前端开发者是友好的,前端路径是vue-route处理,静态资源让nodejs的服务来承载处理,不依赖运维层面的ngnix,服务器端api接口可以是同域名或非同域名下的服务器nodejs提供接口,跨域问题,让nodejs服务器开发处理!
第二种方式适合大多数前端开发者是友好的,前端路径是vue-route处理,静态资源让nodejs的服务来承载处理,不依赖运维层面的ngnix,服务器端api接口可以是同域名或非同域名下的服务器nodejs提供接口,跨域问题,让nodejs服务器开发处理!
分享到微博?
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。手动搭建vnpy环境
这里介绍了vnpy三种环境的搭建:分别为、和
运行环境:若只是想运行vnpy,搭建此环境即可
编程环境:此环境可以自己编程,对vnpy进行拓展
开发环境:vnpy的开发人员使用的环境,对vnpy底层进行修改时需要
Windows 7 以上版本(我使用的是Windows 10)
安装(或者)
安装并克隆vnpy(或者下载并手动解压):
cd C:/Projects
git clone https://github.com/vnpy/vnpy
使用管理员权限运行Anaconda控制台(开始菜单 && Anaconda2 (32-bit) && Anaconda Prompt),安装vnpy的Python依赖项:
cd C:/Projects/vnpy
pip install pymongo websocket-client msgpack-python qdarkstyle SortedContainers wmi future flask-socketio flask-restful flask-cors gevent-websocket pyjwt ccxt snappy tushare typing matplotlib scipy tornado bs4 pyqtgraph
conda install -y -c quantopian pyqt qtpy psutil ta-lib
注意,最后一步的这些命令一定要用Anaconda控制台来运行。而且必须是以管理员权限运行。
管理员权限运行的方式:右键-以管理员权限运行
如果只是想用vnpy,将vnpy装为python的一个模块是个非常好的选择。
使用vnpy根目录下的setup.py就可以自动将python安装为python模块了。
cd C:/Projects/vnpy
python setup.py install
之后运行你想运行的程序就好,例如VnTrader:
python C:/Projects/examples/VnTrader/run.py
上面所有的命令都需要用Anaconda控制台来运行
请先搭建好
其实就是选一个IDE。Visual Studio或者PyCharm都可以
Visual Studio
使用Visual Studio Installer安装Python环境
打开Visual Studio,新建项目-Python-从现有代码创建
路径选择vnpy根目录,Python解析器选择”Anaconda x.x.x”即可
打开PyCharm,新建项目
项目路径选择vnpy根目录
解析器选择Anaconda自带的python解析器(C:\ProgramData\Anaconda2\python.exe)即可
先请搭建好
其实呢,就是准备编译py插件所需的一些编译环境
* 需要,并安装C++桌面开发组件
* 需要。下载编译安装即可(Boost 1.67以上版本需要修改一些东西,若想简单点请使用)
cd C:/boost_1_66_0
./bootstrap.bat
./b2.exe install
关于vn.py的环境配置和项目安装——各种错误一招解决
vn.py是基于Python的开源量化交易程序开发框架,可以即时进行开发回测以及实盘交易,而且相对于国内的一些其他的所谓免费的量化平台,vn.py是开源的,而且更加的底层,更加的灵活,这...
笔者之前写过一篇关于vnpy的简单介绍和安装方法,本篇文章的目的是简单介绍vnpy的框架,然后详细介绍一下如何用vnpy开发自己的量化策略以及整个的回测逻辑是怎么样的。只有我们真的搞清楚...
vnpy量化项目-填坑1-缺少pyqt4模块----python学习笔记35
1、网上好多开源量化软件,每个都好多坑,尤其是一般都只支持2.7,使用3.5,会有很多坑。
2、稍微涉猎下vnpy这个项目,安装的过程中,出现qtpy4的问题
按照官方的教程安装vnpy的时候,如...
作者:cuizi7
事件引擎是vn.py项目的核心,也是大多数交易系统或回测引擎、甚至大多数交互程序(Interacti...
新建.bat文件
start && cmd /k &activate vnpy&&python run.py&
windows8.1 +apache2.4.12 + mysql5.6 + php5.6.5 [ + phpMyAdmin4.3.11 (mysql可视化)]
如果在安装过程中如果遇到问题,可...
上一篇文章最终实现的效果:
将Apache下的bin和MySQL下的bin目录,添加到系统的“环境变量”里:
3.在Apache/htdocs下新建“test.php”,这里ht...
没有更多推荐了,
(window.slotbydup=window.slotbydup || []).push({
id: "5865577",
container: s,
size: "300,250",
display: "inlay-fix"架构(MongoDB + Express + Vue + NODEJS)制作网站_心得技巧_动态网站制作指南
架构(MongoDB + Express + Vue + NODEJS)制作网站
来源:人气:779
架构(MongoDB + Exess + Vue + NODEJS)制作网站
MEVN 架构是 MongoDB + Express + Vue + NODEJS 搭建的网站架构。四个部分都可以用Scrt实现。
一个完整的网站服务架构包括web frame, web server, Database, 以及前端展示实现。这里有一篇知乎答案,讲一个网站的整个访问流程,讲的很清晰。
在这个架构里,web server 就是nodejs,webframe 就是express,database是mongoDB,前端展示用了vue。我们一个一个来搭建。
我们在这里模拟实现一个登录功能。
功能很简单,填写完账号密码点击登录按钮,就把账号密码插入,并且查出现在已经有哪些数据。
Database MongoDB
brew install mongodb
mongod --config /usr/local/etc/mongod.conf
这时只是启动了Mogod,链接数据库需要再另外的窗口执行
MongoDB shell version v3.4.1
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.1
Welcome to the MongoDB shell.
这个地址mongodb://127.0.0.1:27017就是我们本机的mogo数据库地址
使用 Vue-cli 生成一个vue框架
安装Vue-Cli
npm i -g vue-cli
去到你想要放置项目的目录,进行初始化
vue init webpack XXX(你想要项目的名字)
按提示一直下一步,完成后按提示
npm install (这里建议使用淘宝镜像cnpm,不然墙外的东西……)
npm run dev
由于需要使用http请求,安装一个vue-resource工具。
在main.js中使用
import vueResource from 'vue-resource'
Vue.use(vueResource)
使用npm安装
npm install express –save
搭建node服务器环境
在项目的根目录新建一个叫server的目录,用于放置Node的东西。进入server目录,再新建三个js文件:
index.js (入口文件)
db.js (设置数据库相关)
api.js (编写接口)
// 引入编写好的api
const api = require('./api');
// 引入文件模块
const fs = require('fs');
// 引入处理路径的模块
const path = require('path');
// 引入处理post数据的模块
const bodyParser = require('body-parser')
// 引入Express
const express = require('express');
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use(api);
// 访问静态资源文件 这里是访问所有dist目录下的静态资源文件
app.use(express.static(path.resolve(__dirname, '../dist')))
// 因为是单页应用 所有请求都走/dist/index.html
app.get('*', function(req, res) {
const html = fs.readFileSync(path.resolve(__dirname, '../dist/index.html'), 'utf-8')
res.send(html)
// 监听8088端口
app.listen(8088);
console.log('success listen…………');
// Schema、Model、Entity或者Documents的关系请牢记,Schema生成Model,Model创造Entity,Model和Entity都可对数据库操作造成影响,但Model比Entity更具操作性。
const mongoose = require('mongoose');
// 连接数据库 如果不自己创建 默认test数据库会自动生成
mongoose.connect('mongodb://127.0.0.1:27017'); // 地址跟第一步的地址对应。
// 为这次连接绑定事件
const db = mongoose.
db.once('error',() =& console.log('Mongo connection error'));
db.once('open',() =& console.log('Mongo connection successed'));
/************** 定义模式loginSchema **************/
const loginSchema = mongoose.Schema({
account : String,
pass : String
/************** 定义模型Model **************/
const Models = {
Login : mongoose.model('Login',loginSchema)
module.exports = M
// 可能是我的node版本问题,不用严格模式使用ES6语法会报错
"use strict";
const models = require('./db');
const express = require('express');
const router = express.Router();
/************** 创建(create) 读取(get) 更新(update) 删除(delete) **************/
// 创建账号接口
router.post('/api/login/createAccount',(req,res) =& {
// 这里的req.body能够使用就在index.js中引入了const bodyParser = require('body-parser')
let newAccount = new models.Login({
account : req.body.account,
password : req.body.password
// 保存数据newAccount数据进mongoDB
newAccount.save((err,data) =& {
if (err) {
res.send(err);
res.send('createAccount successed');
// 获取已有账号接口
router.get('/api/login/getAccount',(req,res) =& {
// 通过模型去查找数据库
models.Login.find((err,data) =& {
if (err) {
res.send(err);
res.send(data);
module.exports =
至此我们的后端代码就编写好了,进入server目录,敲上 node index命令,node就会跑起来,这时在浏览器输入http://localhost:8088/api/login/getAccount就能访问到这个接口了
现在我们的本地开发环境的 web server的接口是 index.js 里的8088,但是本地的webpack生成的网页端口是8080,这两个不一致。需要进行代理(proxy)在config/index.js 中修改
proxyTable: {
target: 'http://localhost:8088/api/',
changeOrigin: true,
pathRewrite: {
'^/api': ''
这时,我们在前端接口地址前加上/api,就会指向http://localhost:8088/api/,于是我们就能访问到后端的接口了!让我们来点击一下登录按钮,会发现接口请求成功了!再去数据库看看!也插入了一条新数据!成功!
前后端开发完成,最后一步,前端打包,后端部署。
前端打包就很简单了,一个命令:
npm run build 这就生成了一个dist目录,里面就是打包出来的东西。
现在回过头来看server里面的入口文件index.js
// 访问静态资源文件 这里是访问所有dist目录下的静态资源文件
app.use(express.static(path.resolve(__dirname, ‘../dist’)))
// 因为是单页应用 所有请求都走/dist/index.html
app.get(‘*’, function(req, res) {
const html = fs.readFileSync(path.resolve(__dirname, '../dist/index.html'), 'utf-8')
res.send(html)
// 监听8088端口
app.listen(8088);
这里的关键是express.static,利用 Express 托管静态文件。于是我们才能访问到前端打包出来的静态页面index.html。
最后,我们在浏览器输入http://localhost:8088/,就会跳到index.html。
到此为止,我们就完成了整个前后端各自开发到正式部署的流程。
优质网站模板

我要回帖

更多关于 怎样才能成功 的文章

 

随机推荐