好的,所以基本上我想学习并掌握Node中的导出/导入模块。我创建了一个app.js
,其中包含所有内容。为了使app.js
文件更整洁和可读性更好,我尝试从另一个文件夹(.js
中添加一个middleware/sass.js)
文件,我该怎么做?
我的sass.js
文件如下:
let sassMiddleware = require('node-sass-middleware');
app.use(
sassMiddleware({
src: path.join(__dirname, 'resources/scss'),
dest: path.join(__dirname, 'public/css'),
debug: true,
indentedSyntax: false,
outputStyle: 'compressed',
prefix: '/css'
})
);
如何在不包含所有内容的情况下将其“包含”在app.js
中?我会说我尝试做类似 PHP include()
答案 0 :(得分:2)
您需要将应用程序实例放在单独的模块中,以便可以将其导入多个位置:
index.js
require('./sass');
const app = require('./app');
app.listen(...);
app.js
...
const app = express();
module.exports = app;
sass.js
const app = require('./app');
...
app.use(...);
或者使用依赖注入并使用函数包装所有依赖于应用程序实例的部分:
index.js
const app = require('./app');
require('./sass')(app);
app.listen(...);
sass.js
...
module.exports = app => {
app.use(...);
};