Require is not defined al registrar un plugin en yii2

Buenas al registrar un script de js, me sale este error:

require is not defined

Lo registro en la vista:
$this->registerJsFile('@web/js/pselect/src/index.js', ['depends' => [\yii\web\JqueryAsset::class], 'position' => \yii\web\View::POS_END]);

Y me da ese error, he visto que puede ser que cargue antes el script que jquery, pero no se como resolverlo.
Por otro lado, los assets lo tengo configurado de la siguiente forma:

>     class AppAsset extends AssetBundle
>     {
>         public $basePath = '@webroot';
>         public $baseUrl = '@web';
>         public $css = [
>             'css/ecofriendly.css',
>         ];
>         public $js = [
>             
>             'js/main.js',
>         ];
>         public $depends = [
>             'yii\web\YiiAsset',
>             'yii\bootstrap4\BootstrapAsset',
>             'yii\bootstrap4\BootstrapPluginAsset',
>             'xtetis\bootstrap4glyphicons\assets\GlyphiconAsset',
>         ];
>     }

Gracias.

¿Has probado a ponerlo en POS_READY?
$this->registerJsFile('@web/js/pselect/src/index.js', ['depends' => [\yii\web\JqueryAsset::class], 'position' => \yii\web\View::POS_READY]);
Eso debería cargar el JQuery antes.
O a quitar el POS_END, dado que POS_READY es la opción por defecto.

View::POS_READY for executing code on the document ready event. This will automatically register jQuery and wrap the code into the appropriate jQuery code. This is the default position.

1 Like

Ok, muchas gracias!