我有一个普通的,而不是 REST 应用程序。但我不知道这是否相关。我想使用 require.js因为我有几个 JS 文件。我知道 AssetBundles可以使用,但是,我的应用程序不是以 HTML-GET 请求启动的,所以 AFAIK 我不能使用它们,因为不会创建 Assets 。
背景信息:我的应用程序的行为类似于 REST 应用程序。它提供了一个 JS 文件,该文件将加载其他 JS 文件(使用 require.js;此 JS 文件包含从应用程序获取 JSON 数据的 AJAX 请求)。没有 HTML 操作。它仅提供 JSON 数据。
其中一些文件是像 jQuery 这样的库。 jQuery 已经是 provided by Yii2所以我认为浏览器可以通过 require.js 以某种方式获取这个 jquery.js
文件。但是,它存储在 @web/assets/54509f77/
文件夹中,其中 545097ff
是动态的。 bootstrap.js
或 CSS 文件也是如此。那么,我如何在 require.js 中定义它呢?
谁能举例说明如何使用 Yii2 Assets 设置 require.js 场景?或者这没有意义,我应该提供我自己的 jquery.js
吗?
如果这一切都是愚蠢的,请随意投反对票。我没有使用 require.js 的经验...
最佳答案
我从未使用过require.js
,但在使用 grunt 时我不得不关闭 Assets。
根据我的经验,如果您没有利用 Assets( bundle 和依赖项)的优势 - 您最好将其关闭并提供您自己的库。
$config = [
// ...
'components' => [
// ...
'assetManager' => [
'bundles' => false,
],
],
];
棘手的一点是重新获取所有 Yii JS 文件,我建议您引用 samdarks chapter on Grunt即使您不使用它。这可能会有所帮助。
必须包含以下 JS 文件才能使用 Yii Widgets
"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"
关于javascript - 如何将 Yii2 与 require.js 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38239009/