javascript - 我似乎无法弄清楚文件夹结构,它说系统找不到我的文件?

标签 javascript node.js express aurelia

似乎无法弄清楚我的文件结构可能存在什么问题。我使用 Aurelia 作为服务器的前端和 Node 。我进行了一次连接,解决了一些问题,但现在我收到此错误:

Error: (SystemJS) Error: XHR error (404 Not Found) loading http://localhost:3000/src/main.js
    Error loading http://localhost:3000/src/main.js

这是我的 server.js 文件:

var express = require('express'),
    app = express(),
    engines = require('consolidate'),
    MongoClient = require('mongodb').MongoClient,
    assert = require('assert'),
    bodyParser = require('body-parser');

    app.engine('html', engines.nunjucks);
    app.set('view engine', 'html');
    app.set('views', __dirname + '/views');
    app.use(bodyParser.urlencoded({ useNewUrlParser: true }));


    app.use('/scripts', express.static(require('path').join(__dirname, 'scripts')));

    function errorHandler(err, req, res, next) {
        console.log(err.message);
        console.log(err.stack);
        res.status(500).render('error_template', {err: err});
    }

    MongoClient.connect('mongodb://localhost:27017/', function(err, client) {
        assert.equal(null, err);
        console.log('MongoDB connected!')

        var db = client.db('todos');

        app.get('/', function(req, res) {
            res.render('index', {});
        });

        app.use(errorHandler);
    });

    var server = app.listen(3000, function() {
        var port = server.address().port;
        console.log("Express server listening on port %s.", port);
    });

This is my folder structure:

最佳答案

app.use('/scripts', express.static(require('path').join(__dirname, 'scripts')));

这行代码获取本地文件夹并使其可通过 Express 服务器使用。您需要对 src 文件夹执行相同的操作

或者:

app.use('/src', express.static(require('path').join(__dirname, 'src')));

或者:

app.use(express.static(require('path').join(__dirname, 'src')));

第一个参数允许您命名它将作为的目录,这通常是相同的。

即使我没有在注释中包含 require('path').join(__dirname,... ,包含它也是一个很好的做法。

关于javascript - 我似乎无法弄清楚文件夹结构,它说系统找不到我的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51844471/

相关文章:

javascript - 同一页面上的 JQuery Carousel 多个实例

node.js - V8/Node.js 增加允许的最大字符串长度

javascript - 为什么我一直收到 "Cannot find module ' socket.io'”?

node.js - 发布请求 Firebase 云功能超时

javascript - node.js & express - 应用程序结构的全局模块和最佳实践

javascript - 警告不要在循环内创建函数

javascript - 将 JavaScript 代码转换为 CoffeeScript 和全局变量的问题

node.js - 是否可以将异步函数传递给 setImmediate 以异步调用任意函数?

javascript - 修改 res 而不改变参数

javascript - 使用 hbs 并收到错误 "Arguments to path.join must be strings"?