node.js - express #10

接续上篇的基本设定 第七个应用:开发旅行社网站(1)、第七个应用:开发旅行社网站(2)、第七个应用:开发旅行社网站(3)

[第七个应用:开发旅行社网站(4)

现在要来说明版本控制的重要性

可以回溯文件,成为相当具有价值的历史知道code归属于谁,若有错误也能立刻找到负责的人可以用分支做实验性质的东西,若失败可以放弃,成功则能併入专案

在这里我们将使用Git,也是目前非常多人使用的版本控制系统

GIT

先确认自己是否有安装git了,若无则安装git

git --version
进入存放专案的资料夹建立Git储存库
git init
创建.gitignore让不想添加的项目被Git忽略
node_modules//会忽略掉所有备份 例如 meadowlark.js~*~//如果是Mac则需要额外加入下行.DS_Store
添加修改到Git内
逐项添加
git add meadowlark.js

但在这个专案内我们希望添加全部的修改

git add -A

git add这个动作做的并不是添加文件 而是将修改(改变)添加上去
若刚刚修改了meadowlark.jsgit add meadowlark.js就是将这份文件的修改添加到Git内
4. 刚刚那些add的改变都是存在Git的暂存空间,尚未提交,当準备就绪时可以用git commit来提交

git commit -m "initial commit"

Git不允许没有描述的提交,因此每次的commit都应简单说明此次提交的内容
http://img2.58codes.com/2024/20105154wnaiLEqIdY.png
出现这个画面变代表上传成功

如果要使用官方的储存库则使用clone指令

git clone https://github.com/EthanRBrown/web-development-with-node-and-express

再来能用checkout筛选出标籤

git checkout ch04

git checkout -b <分支名称> 就能创立分支,在这上面随意编辑提交。

NPM

专案所需要使用的npm packages都放在node_modules的资料夹下
修改这个资料夹下的东西都非常容易被npm重新覆盖掉
因此若要修改资料,则应先创造副本
在package.json内则可以看到这个专案所有的dependencies
http://img2.58codes.com/2024/201051545gzL6TVXKH.png
node_modules内的档案若删掉只要透过npm install就能重新安装
因此在备份时常常忽略node_modules的资料
npm也自订模组,因此我们将上次写的fortuneCookies写成模块
(不储存在node_modules)

建立lib资料夹在底下建立fortune.js
var fortuneCookies = [    "Conquer your fears or they will conquer you.", "Rivers need springs.",    "Do not fear what you don't know.",    "You will have a pleasant surprise.",    "Whenever possible, keep it simple.",];exports.getFortune = function() {    var idx = Math.floor(Math.random() * fortuneCookies.length);    return fortuneCookies[idx];};

exports可以让getFortune这个函数在模组外也能使用
在模组外可以看到getFortunefortunes的内容保持隐藏
3. 修改meadowlark.js
在顶部引入fortune.js模块

var fortune = require('./lib/fortune.js');

加上./是为了告诉node这个不在node_modules避免找不到
修改/about路径

res.render('about', { fortune: fortune.getFortune() } );
添加修改
git add -Acommit这些改变
git commit -m "Moved 'fortune cookie' functionality into module."

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章