计图小组作业需要用到一些模型和图片,如果不放在服务器上就无法加载(js不提供直接从本地加载资源的方法)。
因为之前安装过node.js( 可以说Node.js 就是运行在服务端的 JavaScript),因此刚好可以node.js搭建一个服务器。
但是如何用node.js渲染html文件呢?查阅相关资料发现Express可以胜任这个工作。
Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。
node.js的Express框架提供了内置的中间件 express.static 来设置静态文件如:图片, CSS, JavaScript 等。
1、首先安装express:
环境为win10 64位
npm install express -g
2、查看是否安装成功
npm ls -g
可以看到express以及底下的模块
3、创建server.js文件
你可以使用 express.static 中间件来设置静态文件路径。例如,如果你将图片, CSS, JavaScript 文件放在 public 目录下,你可以这么写:
app.use(express.static('public'));
由于项目的index.html和其他文件都在CGfinalProject目录下,因此我的server.js文件内容如下:
var express = require('express');
var app = express();
app.use(express.static('CGfinalProject'));
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("应用实例,访问地址为 http://%s:%s", host, port)
}
4、执行server.js代码
进入server.js所在目录,按下ctrl+R
打开运行窗口,输入cmd
进入命令行,执行server.js代码。
node server.js
然而,事情发展的并不顺利,报错了,Error: Cannot find module 'express'
可是我明明安装成功了呀,查阅相关资料,有人说是因为NODE_PATH没有设置,应该添加一个环境变量
添加完点确定后要重启cmd窗口才能生效。
还可以参考这篇博客,不添加环境变量,而是把express的路径改为安装express时的路径。
5、重新在命令行输入执行命令后,没有报错,这个时候就可以在浏览器输入url打开index.html文件了
http://localhost:8081/index.html
终于看到了大佬下载的模型