文件结构:使用索引.js文件级联访问子模块或子文件
File structure: Cascade accessing sub-modules or sub-files by using index.js file
modules/
|
|--- index.js
|
|--- module1.js
|
└--- module2/
|
|--- index.js
|
|--- component1.js
|
└--- component2.js
使用上面的结构,我可以使用以下代码访问module1.js
;
var modules = require('./modules') // or import modules from './modules'
console.log(modules.module1)
但是我无法通过以下代码访问component1
;
var modules = require('./modules') // or import modules from './modules'
console.log(modules.module2.component1)
尝试代码时,系统会引发Cannot read property 'component1' of undefined
错误。因此,模块 2''index.js 未安装。
是否有机会使用modules
定义访问component1
和component2
?
为此,
您必须在整个索引文件中执行以下操作。
模块/索引.js
module.exports = {
module1: require('./module1'),
module2: require('./module2')
}
模块/模块2/索引.js
module.exports = {
component1: require('./component1'),
component2: require('./component2')
}
Edit
我想ES7 await方法通过如下用途克服了这个问题;
var modules = await require('./modules')
console.log(modules.module2.component1)
原答案
问题是;Javascript代码是异步工作的。
在定义变量时,在第一级不是问题。但是在第二级需要一些时间来从深度获取和加载模块。
等待加载模块然后定义组件是无稽之谈,尤其是在另一个Javascript平台上工作时,如React-Native或其他基于Javascript语言构建的平台。
相关文章:
- 如何使用PHP和JS级联三个下拉列表
- 对级联下拉列表使用不同的连接字符串
- AngularJS或jquery中的依赖级联下拉框列表
- 文件结构:使用索引.js文件级联访问子模块或子文件
- 如何从一系列级联异步代码中返回值
- 我想创建4个级联下拉列表
- 带有角js的级联下拉列表
- Json级联下拉列表
- 如何级联jQuery Mobile组合框
- 在angular.js中创建级联dropbox
- JavaScript JTable-具有多个级联列表/下拉列表的Null值
- 级联和链接之间的区别是什么
- 级联下拉列表angularjs
- ASP.NET MVC级联下拉列表列出Javascript问题
- 级联下拉菜单干扰自动完成文本框
- 级联遵守形式
- 级联下拉列表mvc3,create方法
- 级联ajax请求
- 如何在BB10级联中将数据传递到java脚本文件
- mvc4上的级联下拉列表不更新也不加载javascript文件