这很令人困惑所以我会尝试详细解释这个问题。
我使用require.js
和编写了一个应用程序,当javascript代码没有缩小时,一切正常。
require.config({.... , deps : ['startup']});
define('startup', ['router', 'xpto', 'i18n!nls/messages'], function(router, xpto, i18n) {....})
define(…);
define(…);
define(…);
define(…);
define(…);
define("nls/messages", ….);
define("nls/pt-pt/messages", ….);
define("router", […., "i18n!nls/messages"], function (…,i18n) { … })
config.js
和startup.js
都被最小化并一起部署在一个servletpath / commons中
app
映射到/app
,并且有一个带有
<script data-config="/commons/js/config.js" src="/commons/libs/require/require.js"/>
同样在/app
我有一个router.js
,它将由公共startup.js
加载。
这将使公共startup.js
从/app
加载资源。
从startup.js
依赖项加载路由器时出现问题。由于router.js
有几个定义语句, i18n!nls/messages
中的startup.js
将在router.js 中出现的define(“nls / messages”)之前开始加载,这会触发nls/messages.js not found
错误。
知道如何解决这个问题吗?
提前致谢!