javascript - 我正在尝试使用 requirejs 将我自己的 js 文件添加到 orocommerce 但没有成功

标签 javascript symfony requirejs orocrm orocommerce

我在 myBundle/Resources/config/requirejs.yml 文件中创建了以下选项:

config:
shim:
    'jquery-ui':
        deps:
            - 'jquery'
    'underscore':
        exports: '_'
    'backbone':
        deps:
            - 'underscore'
            - 'jquery'
        exports: 'Backbone'
paths:
    'jquery': '../js/layout/my_theme/js/jquery-3.2.1.min.js'
    'jquery-ui': 'bundles/oroui/lib/jquery-ui.js'
    'bootstrap': 'bundles/oroui/lib/bootstrap.js'
    '../js/layout/my_theme/js/scripts.js': '../js/layout/my_theme/js/scripts.js'

然后运行这个命令:php app/console oro:requirejs:build

构建命令在我的主题文件夹中创建 oro.min.js,我将这个字段包含在我的主题中,但我在 oro.min.js 文件中看不到我的 js 函数。

我错过了什么?

最佳答案

首先,您使用的是哪个版本的 OroCommerce? 在 1.3 中,我们有整个应用程序(管理员+前端)的配置文件,并且只有前端。

您更改放置在“/Resources/config/requirejs.yml”中的配置文件 - 这是整个应用程序配置,它将被构建到“web/js/oro.min.js”文件中,而不是在您的主题文件中。

存储在“/Resources/views/layouts/{your_theme}/config/requirejs.yml”中的前端配置。此配置中的脚本将内置到您主题中的“oro.min.js”中。

我问过您有关 OroCommerce 版本的问题 - 在 1.3 中,我们为每个主题生成“oro.min.js”,但我们不使用它。在管理和前端我们使用/web/js/oro.min.js 文件。

在 1.4 中,我们将为管理员使用“/Resources/config/requirejs.yml”文件,在前端为您的主题使用“/Resources/views/layouts/{your_theme}/config/requirejs.yml”。

因此,请将您的脚本检查到“web/js/oro.min.js”并更改配置路径

'../js/layout/my_theme/js/scripts.js': '../js/layout/my_theme/js/scripts.js'

'{mybundle}/js/layout/my_theme/js/scripts.js': '/bundles/{mybundle}/js/layout/my_theme/js/scripts.js'

其中 {mybundle} 是您的包的公共(public)文件夹(公司名称 + 包名称),您应该在“php app/console assetic:dump”命令之后在“/web/bundles/”中看到此文件夹。

关于javascript - 我正在尝试使用 requirejs 将我自己的 js 文件添加到 orocommerce 但没有成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46380322/

相关文章:

php - 学说 2 查询生成器计数一对多关系

javascript - 如何使用 requirejs 覆盖 vendor 库

windows - 是否有任何环境变量代表 "C:\Documents and Settings"文件夹或 C :\Users folder in Windows?

php - 如何在 symfony2 表单字段 : collection 中启用多项选择

即使使用正确的语法,JavaScript 仍显示空白值

php - 有教义的解释

javascript - 阻止优化文本!和 json! requirejs 优化工具上的插件

javascript - 如何使用 npm 国家代码

javascript - 无法让 JavaScript 函数与下拉列表一起使用

客户端 JavaScript 代码替换