gpt4 book ai didi

node.js - 在 gulp 文件中包含外部文件

转载 作者:太空宇宙 更新时间:2023-11-04 00:49:47 25 4
gpt4 key购买 nike

我有一个具有以下结构的 gulp 文件:

// =============== helper JS stuff =============== 

var production = false;

var folders = {
folder1: "./myfolder",
folder2: "./myfolder2"...
}

function Module() {
this.jsFiles = ...
this.cssFiles = ...
}

var Modules = [
new Module({ first: module }),
new Module({ second: module })...]

// =============== Tasks ===============

gulp.task('myTask', function(){
//work with modules
});

我想在(至少)三个文件中将(gulpfile.js)任务与其他纯自定义javascript事物(特别是模块列表)分开:

Solution

-- gulpFolder

---- consts.js // declare here dirs/folders/other constants
---- module.js // helper 'Module' object declaration
---- listModules.js // a list of 'Module's to work with (to update)

-- gulpfile.js // tasks definitions, works with the module list

是否可以将简单的 javascript 文件“导入”到 gulpfile.js 中,如下所述(例如 consts.jsmodule.js等)?

我尝试使用 requireDir

var requireDir = require('require-dir');
...
var dir = requireDir('./website/!gulp'); // ?

但是这段代码似乎并没有真正“导入”jsfiles...据我了解,requirerequireDir 仅适用于 NodeJS 模块/文件...

最佳答案

在node中,每个javascript源文件都是一个单独的命名空间。当您需要某个文件时,您只能访问该文件已导出的内容。这意味着您必须从每个其他文件中导出。例如:

module.js:

function Module() {
this.jsFiles = ...
this.cssFiles = ...
}
module.exports = Module; // export!

列表模块:

var Modules = [
new Module({ first: module }),
new Module({ second: module })...]

module.exports = Modules; // export!

然后在您的主文件中您可以访问如下代码:

var Module = require("gulpFolder/module.js");
var Modules = require("gulpFolder/moduleList.js");

gulp.task('myTask', function(){
//work with modules
});

关于node.js - 在 gulp 文件中包含外部文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33109303/

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