了解: 如何快速搭建一个项目并进入开发?
在此不概述 Node.JS 的历史以及发展过程.
因为之前接触过通过 Java 开发语言, 所以明确地知道一个服务器所需的文件, 以及一个服务器所需要的操作.
那么, 我们细分一下, 所有的服务器都至少需要什么呢?
静态文件访问
路由分发
数据库连接
这三者是最重要的服务器基础功能:
静态文件是类似如图片, CSS,JS,html 等前端需要的界面资源
路由分发则是当浏览器 OR 客户端访问某个 URL 地址时, 服务器会自行解析并分发给某段处理代码中.
而数据库连接则是将数据保存至磁盘 (即数据库) 而不至于关闭服务器便消失了(静态服务器可忽略数据库)
一个服务器最要紧的是让浏览器访问到相关 URL 时, 就会自行解析 URL , 之后分发给相关处理程序进行处理, 即路由分发功能.
所以第一步, 让我们了解一个 Node.JS 项目的基础文件并知道怎样进行创建.
1.1 引入 NPM 概念
NPM 是一个包管理器, 它可以对项目的依赖文件进行加载, 卸载等操作, 同时可以创建一个项目的配置文件(package.JSON)(目前我初学了解的)
同样的, 一个项目需要怎样的依赖环境, 都需要 NPM 来配置
1.2 创建一个 Node.JS 项目
打开文件管理器, 在你想要的索引位置上新建一个文件夹, 文件夹的名称即是项目名
打开 DOS / 终端 , 执行 NPM 进行项目的创建(注意, 在项目的当前文件夹)
NPM init
将会在项目目录下创建一个 package.JSON 文件
箭头所指的即是创建过程中填写的配置信息, 比方: author, 指的是开发者名称, 而 main, 指的是初始化时指定的主文件入口
至于其它, 我相信网上有一个更全面的 配置文件属性介绍文章.
创建好 package.JSON 后, 需再创建项目必备文件夹以及文件(有些方法可以一键生成, 这里不作推荐)
1.3 创建项目必备文件夹以及文件
注意: package-lock.JSON 不必手动创建, 以及 node_modules 文件夹亦无需创建.
仅需创建: bin,public,routes,views 文件夹, 同时创建一个名为 App.JS , 它将作为主函数入口.
[重要] 请在 package.JSON 中手动将其中的 main 属性配置为 App.JS ( 自动生成的默认为 index.JS )
1.4 安装 Express 框架
- "dependencies": {
- "accepts": "~1.3.7",
- "array-flatten": "1.1.1",
- "body-parser": "1.19.0",
- "content-disposition": "0.5.3",
- "content-type": "~1.0.4",
- "cookie": "0.4.0",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "~1.1.2",
- "fresh": "0.5.2",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.5",
- "qs": "6.7.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.1.2",
- "send": "0.17.1",
- "serve-static": "1.14.1",
- "setprototypeof": "1.1.1",
- "statuses": "~1.5.0",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- }
- // 引入 express 框架 -> 需 NPM 安装
- var express = require('express');
- /**
- * 初始化框架, 并将初始化后的函数给予 '当前页面'全局变量 App
- * 也就是说, App 是 express
- */
- var App = express();
- /* 配置框架环境 S */
- // 设置 public 为静态文件的存放文件夹
- App.use('/public', express.static('public'));
- /* 配置框架环境 E */
- App.get('/', function(req, res) {
- res.send('Hello World');
- })
- var server = App.listen(8081, function() {
- var host = server.address().address
- var port = server.address().port
- console.log("Node.JS 服务器已启动, 访问地址: http://%s:%s", host, port)
- })
来源: https://www.cnblogs.com/chongsaid/p/nodejs_getStart.html