Node.js – 如何链接到本地文件?
我有一个基本的脚本源链接:
// index.html <script src="/js/jquery.js"></script>
尽pipe文件存在,哪个不起作用。 我试图链接到它的Node.js服务器,但它抛出了一个错误,expression没有定义,但它是。
//server.js var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); var clientlist = []; app.get('/', function(req, res) { res.sendfile('index.html'); app.use(express().static('/js/jquery.js')); });
你的要求是错误的 ,因此expression不明确
修改你的第一行var app = require('express');
var express = require('express'); var app = express();
这是我的解决scheme。
注意:
你可能想用你正在工作的目录replace'/ var / www / nodeserver'!
首先,不要使用res.sendfile()
,否则不要使用res.sendfile()
。
或者只是提供一个完整的目录:
全部设置
index.js
这可能是'/ var / www / nodeserver'中的'index.js':
// Setup basic express server var express = require('express'); var app = express(); var server = require('http').createServer(app); var io = require('socket.io')(server); // Change 3000 to whatever port, you want to access the site with"http://127.0.0.1:3000" var port = process.env.PORT || 3000; server.listen(port, function() { console.log("Server listening at port "+port); }); // Routing var dir = __dirname+'/public'; // Path of the index.js but one dir further (public) app.use(express.static(dir)); // serve all files in '/var/www/nodeserver/public/'
的package.json
你需要有一个'package.json',包含这个:
{ "name": "nameofyourapplication", "version": "versionofyourapplication", "dependencies": { "express": "^4.10.2", "socket.io": "^1.3.7" } }
安装
然后使用以下命令npm install
“package.json”中定义的依赖项: npm install
,而在目录“/ var / www / nodeserver /”中。
这将在本地安装所有依赖关系,因此它将在/ var / www / nodeserver中创build一个名为“node_modules”的文件夹。
使用它
接下来,您只需要将所有要提供的文件放入“/ var / www / nodeserver”中的“public”文件夹中,并使用node index.js
运行“index.js”。
Filetree
你的filetree应该看起来像这样:
- nodeserver
- node_modules
- performance
- socket.io
- 上市
- JS
- 的jquery.js
- JS
- index.js
- 的package.json
- node_modules
这应该做到这一点!