如何从NodeJS中的页面调用文件

时间:2019-02-11 14:07:56

标签: javascript node.js npm

我正在运行具有以下结构的nodeJS服务器:

├── init.js
├── Integration
│   └── [libraries and stuff]
├── package.json
└── views
    ├── 3Dmodel.html
    ├── 404.html
    ├── index.html
    └── models
        └── damaliscus_korrigum.ply

init.js(启动文件以启动服务器)中,我有:

createServer: function(){
        var express = require("express");
        var app = express();
        var http = require('http');
        var server = http.createServer(app);
        var router = express.Router();
        var path = __dirname + '/views/';

        app.use(favicon(__dirname + '/images/logo.png'));

        router.use(function (req,res,next) {
        console.log("/" + req.method);
        next();
        });

        router.get("/",function(req,res){
        res.sendFile(path + "index.html");
        });

        router.get("/3Dmodel",function(req,res){
        res.sendFile(path + "3Dmodel.html");
        }); //same for all pages
}

我要在/views/models/damaliscus_korrigum.ply中调用文件/views/3Dmodel.html

var loader = new THREE.PLYLoader();

loader.load( 'damaliscus_korrigum.ply', function ( geometry ) { ... }

但是我应该使用什么路径来调用它? /models/damaliscus_korrigum.ply无效,models/damaliscus_korrigum.ply./models/damaliscus_korrigum.ply也无效。

1 个答案:

答案 0 :(得分:2)

首先,您必须从服务器提供模型(以便客户端可以请求模型),因为为静态目录Express.static提供服务是一个不错的选择:

 app.use("/models/", express.static(path + "/models/"));

现在您的客户可以发送得到答复的请求。