要求多页&多应用程序未执行定义回调
Requirejs multi-page & multi-app not executing define callbacks
我有一个多页/多页的应用程序缩小,我正在努力使其工作。
结构如下
common/
--main config file that defines the common libs
common/build
--app.build.js (see example below)
application1/
--application
--milion other files
application2/
--application
--thousand other files
这放在页面的标题中
</style><script data-main='common/main' src='libraries/require.js'></script>
像这个一样的页脚
<script>require(['../application1/application']);</script>
<script>require(['../application2/application']);</script>
当使用一堆文件时,这种方法非常有效,应用程序运行和交互也非常完美然而,就使其发挥作用而言,试图将其整合似乎更具挑战性。当然,我可能只是一个白痴
构建文件
({
baseUrl: "../",
mainConfigFile: '../main.js',
optimize: 'uglify',
optimizeCss: 'standard',
out: "../global.min.js",
//insertRequire: ['main'],
include: ['../application1/application', '../application2/application'],
wrap: true // have tried both options - this makes the scenario at the bottom work
})
这非常完美,并产生了一个可爱的global.min.js。挑战是它不会在定义调用上执行回调。我这样包括它:
这放在页面的标题中
</style><script data-main='common/main' src='libraries/require.js'></script>
像这个一样的页脚
<script>require(['../common/global.min']);</script>
HOWEVER:如果我在这样的地方保留旧的需求:
<script>require(['../application1/application']);</script>
<script>require(['../application2/application']);</script>
它下载3个文件
- common/global.min.js
- application1/application.js
- application2/application.js
注意:目前缺少大约150个文件,但应用程序运行良好。
在这件事上花了一些认真的时间后,我的大脑现在完全崩溃了,我不知道如何从一个缩小的文件中使它工作。
任何帮助都非常感谢,因为我已经尽力了。很高兴分享所有的文件,尽管有很多;-)
这是一个有根据的猜测,基于您在问题中所展示的内容和RequireJS的失败模式的经验。我猜"./common/global.min"
不是一个模块名称。(如果你想检查这一点,打开优化的捆绑包,查看所有的define
调用。如果你发现它们都没有"./common/global.min"
,那么它不是模块名称。)
当您需要"./common/global.min"
时,RequireJS加载相应的文件,然后在其中查找名为"./common/global.min"
的模块。它找不到任何内容,并且您的代码无法运行。
解决这个问题的一种方法是在优化的捆绑包中使用RequireJS配置,该配置映射名称如下:
paths: {
'../application1/application': './common/global.min'
'../application2/application': './common/global.min'
}
并使用这些模块名称而不是"./common/global.min"
调用require
。这个配置RequireJS"当你在寻找这些模块时,在中查找文件:它们就在那里",实际上这就是优化过程所做的。
- 如何使用自定义标头跨域执行AJAX POST
- Dojo AMD加载程序执行定义具有空/缺失依赖项的回调
- ExtJS 4-自定义排序函数只在点击列标题后执行
- 使用html 5对元素执行自定义表单验证功能
- 具有onclick功能的自定义复选框在实际切换复选框之前执行功能
- 要求多页&多应用程序未执行定义回调
- 消除自执行匿名函数中未定义的TypeError
- 对象在循环中运行时未定义,但在按顺序执行时未定义
- 阻止执行自定义事件
- 在执行脚本之前,请查看对象是否未定义
- 客户端自定义验证不是't正在执行
- 在部分视图内渲染的WebGrid将引发“;“jQuery未定义”,当尝试执行基于ajax的分页或过滤时
- 隔离范围-仅在指令范围内定义的值必须执行更改
- Chained Promise给出了未定义的函数错误,但我可以单独执行这些函数
- 如何使用子窗口上下文执行在父窗口中定义的函数
- "未定义“角度”;在Liferay中存储的角度应用程序上执行Protractor测试时出错
- 为什么黄瓜不执行我的步骤定义
- JavascriptCore:从本机代码执行JavaScript定义的回调函数
- 如何从 Ajax 响应中执行主窗口中定义的 Javascript 函数
- 我如何从页面执行定义到包含在页面中的.js文件中的JavaScript函数?