Javascript Requirejs多页&;多应用程序未执行定义回调
我有一个多页/多个应用程序缩小,我正在努力使工作 结构如下Javascript Requirejs多页&;多应用程序未执行定义回调,javascript,requirejs,build-process,minify,r.js,Javascript,Requirejs,Build Process,Minify,R.js,我有一个多页/多个应用程序缩小,我正在努力使工作 结构如下 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 这将放置在页面的页眉中 这
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
这将放置在页面的页眉中
这工作非常完美,并生成一个可爱的global.min.js。挑战在于它不会对define调用执行回调,我将其包括在内,如下所示:
这将放置在页面的页眉中
像这样的页脚
<script>require(['../application1/application']);</script>
<script>require(['../application2/application']);</script>
<script>require(['../common/global.min']);</script>
require(['../common/global.min']);
但是:如果我在这样的地方保留旧的要求:
<script>require(['../application1/application']);</script>
<script>require(['../application2/application']);</script>
require(['../application1/application']);
需要(['../application2/application']);
它下载3个文件
- common/global.min.js
- application1/application.js
- application2/application.js
我尽了最大的努力,非常感谢您的帮助。很高兴分享所有的文件,尽管有很多;-) 这是一个有根据的猜测,基于您在问题中所展示的内容以及对RequireJS故障模式的体验。我猜
“/common/global.min”
不是模块名。(如果要检查此项,请打开优化包并查看所有定义
调用。如果发现它们都没有“/common/global.min”
,则它不是模块名称。)
当您需要“/common/global.min”
时,RequireJS将加载相应的文件,然后在其中查找名为“/common/global.min”
的模块。它找不到,并且您的代码无法运行
解决此问题的一种方法是将RequireJS配置与映射名称的优化包一起使用,如下所示:
paths: {
'../application1/application': './common/global.min'
'../application2/application': './common/global.min'
}
并使用这些模块名调用require
,而不是“/common/global.min”
。此配置告诉RequireJS“当您查找这些模块时,请查看该文件:它们就在那里”,而这正是优化过程所做的
<script>require(['../common/global.min']);</script>
<script>require(['../application1/application']);</script>
<script>require(['../application2/application']);</script>
paths: {
'../application1/application': './common/global.min'
'../application2/application': './common/global.min'
}