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
    • index.js
    • 的package.json

这应该做到这一点!