gpt4 book ai didi

javascript - 如何在node js中正确导出和require?

转载 作者:行者123 更新时间:2023-12-03 03:22:51 25 4
gpt4 key购买 nike

我读了一篇关于 Node/express 中导出/要求的教程,想知道是否有人可以用我的例子向我解释: 为什么我的 app.js 中的路由不起作用?我需要导出什么才能使其正常工作?非常感谢!

index.js:

    'use strict'

var express = require('express');

var app = express();
module.exports = app;

var PORT = process.env.PORT || 1337;
app.listen(PORT, function() {
console.log('Server is listening!');
})

app.js:

    var express = require('express');
var bodyParser = require('body-parser');
var path = require('path');
var app = express();
//var app=require('./index.js');
module.exports = function() {
app.use(express.static(path.join(__dirname, '../public')));
app.use(express.static(path.join(__dirname, '../browser')));
}

最佳答案

  1. 您的示例将无法正常工作,至少是因为您在两个文件 var app = express() 中声明了两个单独的 Express 服务器。
  2. 此代码不太适合导出/请求练习,因为此类服务器初始化通常放在一个文件中。

但是无论如何,如果您想使用这个示例并使其工作,让我们这样做:

./ index.js

'use strict'

var express = require('express');
var setupServing = require('./setupServing.js'); //import our function
var PORT = process.env.PORT || 1337;

var app = express(); //create express app
setupServing(app); //call imported function to config our app

app.listen(PORT, function() { //start
console.log('Server is listening!');
})

./ setupServing.js

var express = require('express');
var path = require('path');
//export function which can configure static serve for app
module.exports = function(app) { //take app as an argument
app.use(express.static(path.join(__dirname, '../public')));
}

请注意,这个示例仍然不够逻辑,我认为您不会在任何实际项目中遇到这样的代码,但无论如何它都会在 NodeJS 中工作并演示导出/要求。

关于javascript - 如何在node js中正确导出和require?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46494810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com