包括extrenal js文件不起作用

时间:2018-03-28 05:23:51

标签: javascript php yii2

我想将我的一个外部js文件包含在目录./js/event.js(根目录)中的视图中

为此我使用语法:

$this->registerJsFile(Yii::$app->request->BaseUrl . '/js/event.js', ['depends' =>[yii\web\JqueryAsset::className()]]);

但控制台显示错误为:

  

http://localhost/basic/web/js/event.js net :: ERR_ABORTED

我期待这样的网址:

  

http://localhost/basic/js/event.js

我不确定为什么要将js文件夹检入网络目录。

3 个答案:

答案 0 :(得分:0)

您需要使用basePath

$this->registerJsFile(Yii::$app->basePath . '/js/event.js', ['depends' =>[yii\web\JqueryAsset::className()]]);

baseUrl设置为web.php

中的根目录
'components' => [
    .
    .
    'request' => [
        'baseUrl' => dirname(__DIR__),
    ],
]

答案 1 :(得分:0)

我建议你使用别名

试试这个

$this->registerJsFile(Yii::getAlias('@web') . '/js/event.js',
    ['depends' => [\yii\web\JqueryAsset::className()]]);

答案 2 :(得分:0)

试试这个:

$this->registerJsFile( '@web/js/event.js', ['depends' =>[yii\web\JqueryAsset::className()]]);

参考:http://www.yiiframework.com/doc-2.0/guide-output-client-scripts.html#registering-scripts