node.js 部署网站代码的正确方式

文章导航

×
  1. 1. 项目结构示意图
  2. 2. node 网站部署
  3. 3. 开发环境本地
  4. 4. 打包后的正式发布代码预览

本文以前面vue1-0-x-仿照饿了么改写mvvm方式的基础上增加node.js 代码服务端自动部署方案,git仓库代码演示

项目结构示意图


在根目录下加入部署的脚本server.js,内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
//server.js
var http = require("http");
var fs = require("fs");
var path = require("path");
var mime = require("mime");

function send404(response) {
response.writeHead(404, {"Content-type" : "text/plain"});
response.write("Error 404: resource not found");
response.end();
}

function sendFile(response, filePath, fileContents) {
response.writeHead(200, {"Content-type" : mime.lookup(path.basename(filePath))});
response.end(fileContents);
}

function serverWorking(response, absPath) {
fs.exists(absPath, function(exists) {
if (exists) {
fs.readFile(absPath, function(err, data) {
if (err) {
send404(response)
} else {
sendFile(response, absPath, data);
}
});
} else {
send404(response);
}
});
}

var server = http.createServer(function(request, response) {
var filePath = false;

if (request.url == '/') {
filePath = "dist/index.html";
} else {
filePath = "dist" + request.url;
}

var absPath = "./" + filePath;
serverWorking(response, absPath);
});

var port_number = server.listen(process.env.PORT || 5000);

同时修改package.json 的npm 启动命令的依赖开发 增加start”: “rimraf dist && node build/build.js && node server.js” 和依赖 “mime”: “^1.3.4”

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//修改的地方如下

"scripts": {
"dev": "node build/dev-server.js",
"build": "node build/build.js",
"start": "rimraf dist && node build/build.js && node server.js" //删除部署重启
},
"dependencies": {
"babel-runtime": "^6.0.0",
"vue": "^1.0.21",
"vue-resource": "^1.0.1",
"vue-router": "^0.7.13",
"better-scroll": "^0.1.7",
"mime": "^1.3.4"
}

node 网站部署

npm install //安装

npm run dev //开发

npm run build //打包

npm start //服务重启更新代码

开发预览 http://localhost:8081/

打包后的正式发布代码预览
本地打开 http://localhost:5000/

开发环境本地

打包后的正式发布代码预览

#node服务器部署
服务器部署

域名访问


版权声明: 本文章采用 知识共享署名 2.5 中国大陆许可协议 进行许可,欢迎转载,但转载请注明来自李立冬博客,并保持转载后文章内容的完整。本人保留所有版权相关权利。
本文链接:http://www.lilidong.cn/2017/01/13/node-js-部署网站代码的正确方式/

分享到: 更多