nodejs在本地创建项目并运行

10世界杯决赛

一:下载nodejs并安装到本地

下载 | Node.js 中文网

选择对应的系统下载即可。

下载后,本地安装即可。

二:安装完成后,本地打开命令窗口:

Win+R 输入cmd

输入node -v 显示出版本号 说明nodejs安装成功。

三:在本地磁盘上创建一个项目文件夹:

(1):进入文件夹test内,按住shift点击右键,选择在此处打开命令窗口:

【因为我本地电脑安装了powershell,所以是调用powershell打开】

(2):或者Win+R 输入cmd打开dos命令窗口。然后使用命令行切换到对应的盘符目录下:

四:下面我们以powershell为例子来讲解,dos命令窗口操作亦是如此。

1:输入npm init 创建package.json

【npm是随同NodeJS一起安装的包管理工具】

命令行里会以交互的形式让你填一些项目的介绍信息,依次介绍如下:

(不知道怎么填的直接回车、回车...)

name 项目名称

version 项目的版本号

description 项目的描述信息

entry point 项目的入口文件

test command 项目启动时脚本命令

git repository 如果你有 Git 地址,可以将这个项目放到你的 Git 仓库里

keywords 关键词

author 作者

license 项目要发行的时候需要的证书,平时用不到的化直接忽略它即可。

最后输入yes

在文件夹下就生成了一个package.json文件,如下图:

打开package.json 文件查看一下:

继续在命令行中输入npm install express --save

参考express官网命令:

命令执行完之后,文件夹下多出了两个文件。

npm命令加了--save后,依赖包的版本信息就会写入package.json文件中。

这里要说明一点:

在npm5.0之前的旧版本中,如果仅执行npm install express,nodejs会把依赖包安装到node_modules目录中,但不会自动将该包添加到 package.json 的 dependencies 或 devDependencies 中。所以需要加上--save,让包信息添加到package.json中。

但在5.0+以后的npm中,执行npm install express,即使不加--save,nodejs会自动把包信息添加到package.json中,即使加上了--save也无妨,但有点多余了。

我们打开package.json文件

对比没有执行npm install express -save之前的信息发现,多出了express的版本号。

因为上面命令行中entry point 项目的入口文件我们选择的是默认回车选择的是 index.js文件,所以,我们要在项目文件夹下创建index.js文件。

使用编辑器打开index.js,打开express官网,快速入门下找到Hello world

复制Hello world的示例代码,粘贴到index.js中

然后在powershell命令行中输入命令启动服务:node index.js

复制命令行中打印的http://localhost:3000到浏览器中访问。

看到打印出了Hello World 说明整个流程已经跑通了。

赶快动手一试!

PS:

如果需要将本地的这个测试项目搬到服务器上使用的话,只需在服务器上新建一个文件夹,把项目文件中除了node_modules外的文件上传,然后使用npm install命令安装即可。服务器就会按照package.json文件自动安装相关的依赖包。

然后登录相关的服务器控制台,把访问接口3000放开,通过服务器绑定的域名:3000即可访问该程序了。

注意:如果你服务器上的站点加了ssl证书的话,express代码里也要添加证书。代码如下:

//https站点使用

const https = require('https');

const fs = require('fs');

//注意替换证书的真实路径

const options = {

key: fs.readFileSync('/www/server/nginx/ssl/privkey.key'),

cert: fs.readFileSync('/www/server/nginx/ssl/fullchain.crt'),

};

const express = require('express');

const app = express();

const port = 3000;

app.get('/', (req, res) => {

res.send('Hello World!');

});

// https服务器监听

https.createServer(options, app).listen(port, '0.0.0.0', () => {

console.log('HTTPS API running on https://yourdomain:8080');

});