需要动态设置的优化器和区域设置
Requirejs optimizer and locale setting that is set dynamically
我通过grunt使用requirejs优化器(r.js),这是我的requirejs配置:
requirejs.config
baseUrl: '/scripts'
locale: window.localStorage.getItem('locale') || null
...
问题是每次我尝试在我的requirejs配置中使用变量时,grunt r.js插件(https://github.com/gruntjs/grunt-contrib-requirejs)都会抛出错误。
The main config file cannot be used because it cannot be evaluated correctly while running in the optimizer. Try only using a config that is also valid JSON, or do not use mainConfigFile and instead copy the config values needed into a build file or command line arguments given to the optimizer.
您是否设法同时使用变量作为语言环境和 r.js?
您的locale
设置仅在运行时获取实际值。对于只能在运行时给出值的 RequireJS 配置部分,我所做的是:
-
只需使用静态信息调用
require.config
(或requirejs.config
)一次。配置不包含任何变量。我r.js
指出这个静态信息。 -
在运行时,我至少有一个额外的调用来设置要计算的值的
require.config
。RequireJS 将多个require.config
调用合并到一个配置中。
r.js
将仅使用它在文件中识别的第一个配置。因此,您可以将单个requirejs.config
调用拆分为静态和动态部分,并将它们保留在同一文件中。
相关文章:
- 如何构建'瞬间'在非全局区域设置中工作的函数
- 分析特定区域设置(而不是时区!)中的日期字符串
- JS toLocaleString始终显示货币符号,而不考虑区域设置
- Javascript中与区域设置无关的字符串搜索
- 使用不同的日期格式和区域设置创建时刻
- 如何从区域设置获取日期格式
- 如何使日期区域设置正常工作
- 如何在时间标签和相同的类中以UTC格式重新格式化ISO 8601时间戳,并通过JavaScript根据用户区域设置和时区
- 设置焦点动态创建的文本区域
- 如何将用户在文本区域中键入的内容设置为 javascript 变量
- 获取网站访问者的区域设置(语言)
- HTML + JS:设置文本区域内容样式的最佳方式
- Rails 4 - 设置文本区域的字符数限制
- Don't在设置<text区域>
- 无法在文本区域设置文本
- setInterval可设置文本区域上的文本
- 具体来说,JS引擎对小写和大写区域设置敏感
- 什么是区域设置字符串
- 在momentJS上设置区域设置won'不起作用
- 如何使用CasperJs设置区域设置