gpt4 book ai didi

javascript - 使用 Browserify 编译动态需要的模块

转载 作者:IT老高 更新时间:2023-10-28 23:02:43 28 4
gpt4 key购买 nike

我正在使用 Browserify 将大型 Node.js 应用程序编译成单个文件(使用选项 --bare--ignore-missing [以避免出现问题lib-cov in Express])。我有一些代码可以根据目录中可用的内容动态加载模块:

var fs = require('fs'),
path = require('path');

fs.readdirSync(__dirname).forEach(function (file) {
if (file !== 'index.js' && fs.statSync(path.join(__dirname, file)).isFile()) {
module.exports[file.substring(0, file.length-3)] = require(path.join(__dirname, file));
}
});

我的应用程序中出现奇怪的错误,从我的编译文件加载的目录加载任意文本文件。我认为这是因为路径不再正确设置,并且因为 Browserify 将无法 require() 像这样动态加载的正确文件。

除了制作静态 index.js 文件之外,有没有一种首选的方法来动态要求与 Browserify 开箱即用兼容的模块目录?

最佳答案

此插件允许要求 Glob 模式:require-globify

然后,通过一些小技巧,您可以在编译时添加所有文件而不是执行它们:

// Hack to compile Glob files. Don´t call this function!
function ಠ_ಠ() {
require('views/**/*.js', { glob: true })
}

而且,例如,您可以在需要时要求并执行特定文件:D

var homePage = require('views/'+currentView)

关于javascript - 使用 Browserify 编译动态需要的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21642398/

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