重构多次,类似要求(使用Browserify)

时间:2015-05-08 11:28:54

标签: node.js browserify

我有一个非常粗略的实施工作:

var screens = {
    a: require('./../react_components/screens/a.jsx'),
    b: require('./../react_components/screens/b.jsx'),
    c: require('./../react_components/screens/c.jsx'),
    d: require('./../react_components/screens/d.jsx'),
    e: require('./../react_components/screens/e.jsx')
};

哪个工作正常,但是,我想让它更具可伸缩性,这样当我更改文件名或将新文件添加到/screens文件夹时,我真的不需要不断更新此require语句列表。

我正在使用Browserify,所以我确实有一个构建步骤,如果需要可以挂钩(这将在浏览器中运行)

1 个答案:

答案 0 :(得分:0)

因此,对于node / commonjs本身,有requireindex等模块会自动执行此类操作。但是,这些方法通过查看文件系统来确定运行时的依赖性这一事实会破坏browserify的静态分析,因此我不知道它们中的任何一个是浏览器兼容的。因此,我建议使用代码生成路径,您可以使用glob之类的模块来发现要导出的文件,然后写出一个完整的.js文件,其中所有的导出都是静态编码的,并指向该文件的browserify,您可以在构建步骤中每次重新生成。