2017-01-12 7 views
1

Я хочу, чтобы включить мой пользовательское расслоение плотного файл, который находится в C:\xampp\htdocs\yii2\vendor\bower\backend\assets\js, но консоль дает мне ошибкурасслоения плотного путь к файлу вопрос YII2

Не удался загрузить ресурс: сервер ответил со статусом 404 (не найдено)

В то время как другие файлы имеют одинаковый каталог, который работает.
В моем файле appAsset находится под C:\xampp\htdocs\yii2\backend\assets

<?php 

namespace backend\assets; 

use yii\web\AssetBundle; 

/** 
* Main backend application asset bundle. 
*/ 
class AppAsset extends AssetBundle 
{ 
    //public $basePath = '@webroot'; 
    //public $baseUrl = '@web'; 
    public $sourcePath = '@bower/backend/'; 
    public $css = [ 
      'assets/css/chosen.css', 
      'assets/css/style.css', 
      'assets/css/font-awesome.min.css', 
      'assets/css/bootstrap.min.css', 
      //'assets/css/bootstrap.css', 
      'assets/css/jquery.dataTables.min.css', 
      'assets/css/w3.css', 
      'assets/css/jquery-ui.css', 
    ]; 
    public $js = [ 
     //'assets/js/jquery.min.js', 
     'assets/js/jquery-ui.js', 
     'assets/js/jquery.dataTables.min.js', 
     'assets/js/jquery-ui.multidatespicker.js', 
     'assets/js/chosen.jquery.js', 
     'assets/js/chosen.jquery.js', 
     'assets/js/my-custom.js', 
    ]; 
    public $depends = [ 
     'yii\web\YiiAsset', 
     'yii\bootstrap\BootstrapAsset', 
    ]; 
} 

и мой-custom.js

<script> 
    $(document).ready(function(){ 
     $('li.active .treeview').on('click', function(e) { 

      $('li.active .treeview-menu').toggleClass("hide"); 
      e.preventDefault(); 
     }); 
    }); 
</script> 

URL-адрес файла, который не находя это

http://localhost/yii2/backend/web/assets/c4875c89/assets/js/my-custom.js 

enter image description here

+0

Вы можете подтвердить этот JS файл действительно находится на пути вы предусмотрели? – Bizley

+0

Да, я проверил @Bizley – Coder

+0

Я загрузил изображение, которое вы можете увидеть на изображении файла @Bizley – Coder

ответ

1

Просто добавьте это в виде файла

<?php 
    $this->registerJsFile('PATH_TO_FILE'); 
?> 
+0

Благодаря вашему времени. Но его проводной, что почему мой-custom.js не работает, пока другие работают. Да, я знаю немного функцию registerJsFile. Я думаю, что это проблема с кешем? – Coder

+0

Может быть, какое-то время –

1

Использование RegisterJsFile концепция:

Вы должны просто зарегистрировать этот JS файл с вашей точки зрения, например, :

$this->registerJsFile('@web/js/specific.js'); 

Или ваш custompath

$this->registerJsFile('PATH_TO_FILELOCATION'); 

Подробнее: http://www.yiiframework.com/doc-2.0/guide-output-client-scripts.html#registering-scripts

и

http://www.yiiframework.com/doc-2.0/yii-web-view.html#registerJsFile()-detail

+0

Спасибо, я так ценю вашу работу. но у меня есть много попыток, но не повезло. Я знаю о вышеупомянутой помощи. Ваша помощь работает нормально, но вы хотите знать, почему не работает код. У YII есть проблема с кешем. Благодаря @vijay – Coder

+0

да это может быть проверить это как ссылки могут быть вам помощь: http://stackoverflow.com/questions/24819220/yii2-assets-clear-cache http://stackoverflow.com/questions/37723515/почему-на-каждый-освежающей-страница-кэш-перегрузочной-новому/37729758 # 37729758 –