我有一个普通的,不是REST应用程序.但是我不知道这是否相关.我要使用require.js,因为我有几个JS文件.我知道可以使用AssetBundles,但是我的应用程序不是以HTML-GET重新设置开始的,所以AFAIK我无法使用它们,因为将不会创建资产.
背景信息:我的应用程序的行为类似于REST应用程序.它提供了一个JS文件,该文件将加载其他JS文件(带有require.js;此JS文件包含AJAX请求以从应用程序获取JSON数据).没有HTML操作.它仅提供JSON数据.
其中一些文件是jQuery之类的库. jQuery已经是provided by Yii2,因此我认为浏览器可以通过require.js提取此jquery.js文件.但是,它存储在@ web / assets / 54509f77 /文件夹中,其中545097ff是动态的. bootstrap.js或CSS文件也是如此.那么,如何在require.js中定义它?
谁能提供示例如何使用Yii2资产设置require.js场景?还是没有道理,我应该提供自己的jquery.js?
如果这一切都是愚蠢的,请随意投票.我没有require.js的经验…
解决方法:
我从未使用过require.js,但在使用grunt时必须关闭Assets.
以我的经验,如果您没有利用Assets(捆绑和依赖项)的好处-您最好将其关闭并提供自己的库.
$config = [
// ...
'components' => [
// ...
'assetManager' => [
'bundles' => false,
],
],
];
棘手的是要恢复所有Yii JS文件,即使您不使用它,我也会将您引向samdarks chapter on Grunt.这可能会有所帮助.
要使用Yii小部件,必须包含以下JS文件
“vendor/bower/jquery/dist/jquery.js”,
“vendor/bower/bootstrap/dist/js/bootstrap.js”,
“vendor/yiisoft/yii2/assets/yii.js”,
“vendor/yiisoft/yii2/assets/yii.validation.js”,
“vendor/yiisoft/yii2/assets/yii.activeForm.js”