依赖于Yii2中JavaScript代码块的JavaScript文件(用于dojo配置)
我正在尝试用Yii 2.0注册dojo javascript文件。 根据dojo文档,dojo配置的代码块必须在实际的dojo.js之前加载,才能考虑。但是,在HTML输出中,我的自定义javascript代码总是在dojo.js之后加载 这是我的代码:依赖于Yii2中JavaScript代码块的JavaScript文件(用于dojo配置),javascript,php,dojo,yii2,Javascript,Php,Dojo,Yii2,我正在尝试用Yii 2.0注册dojo javascript文件。 根据dojo文档,dojo配置的代码块必须在实际的dojo.js之前加载,才能考虑。但是,在HTML输出中,我的自定义javascript代码总是在dojo.js之后加载 这是我的代码: $this->registerJs('dojoConfig="async:true,isDebug:true";', $this::POS_HEAD,'dojoconfiguration'); $this->registerJsFi
$this->registerJs('dojoConfig="async:true,isDebug:true";', $this::POS_HEAD,'dojoconfiguration');
$this->registerJsFile('/dojo_toolkit/dojo/dojo.js', ['depends' => [\yii\web\JqueryAsset::className()], 'position' => yii\web\View::POS_HEAD]);
在HTML中,它如下所示:
<script src="/dojo_toolkit/dojo/dojo.js"></script>
<script type="text/javascript">dojoConfig="async:true,isDebug:true";</script>
dojoConfig=“async:true,isDebug:true”;
任何建议?对于同一位置,Yii2始终将内联脚本放在第一位,然后是实际的外部文件。因此,无法通过将它们都添加到
中来解决此问题
最好让注册表jsfile()
调用POS\u END
在最末端加载它。在调用document.ready()
之前,它仍将被加载
这样,您就可以确保在加载之前解析了头中的配置。最坏的情况是,您可以在body标记打开后立即使用POS_BEGIN
加载它,但由于加载javascript会被阻塞,因此我会尽量避免这种情况