问题:我在 React 应用程序中有 jQuery 日期选择器,它必须本地化为不同的语言(30 种语言)。我从链接(https://github.com/jquery/jquery-ui/tree/master/ui/i18n)下载了所有 i18n 文件,但它必须包含为
<script>
标签。
问:有没有办法导入这个文件?使用
webpack
和commonjs
?。我正在使用 es6 import
。有没有办法将它们全部捆绑并导入到文件中?
任何建议表示赞赏。
编辑: 是的,有办法:
您可以创建一个将路径作为参数并创建这些 HTML 行的 javascript 函数:
<script src="js/datepicker-in-all-languages/datepicker-af.js"></script>
<script src="js/datepicker-in-all-languages/datepicker-ar-DZ.js"></script>
<script src="js/datepicker-in-all-languages/datepicker-ar.js"></script>
...................and for all other 30 languages................
你只需要这样称呼:
loadLib("datepicker-in-all-languages/datepicker-af");
loadLib("datepicker-in-all-languages/datepicker-ar-DZ");
loadLib("datepicker-in-all-languages/datepicker-ar");
编辑: 也可以在 Grunt 上抢劫,这意味着相同的目的。您可以设置 grunt 来监视脚本的文件夹并将它们合并/缩小到一个文件中,然后您只需将其包含在您的 HTML 文件中。:
GRuntJS 用法(根据他们的官方页面): 有数百个插件可供选择,您可以使用 Grunt 以最少的努力使几乎任何事情自动化。
编辑:
还有一个 jQuery ui i18n 的缩小文件,由 google 托管。您可以在单个
<script>
标签中使用它:http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/i18n/jquery-ui-i18n.min.js。我在这里 here. 的答案中找到了它
我建议你把它们都捆绑起来,它小吗?你可以这样做:
在 js ES6 中使用 jquery-ui datepicker 的 i18n
首先从 jquery-ui-bundle 包中导入 jquery-ui(为 webpack 包管理器做好准备)。然后从原始 jquery-ui lib 包加载本地化。
然后设置日期选择器的本地化,最后 datepickerize 你的日期输入。
import 'jquery-ui-bundle';
const i18n_cs = require('jquery-ui/ui/i18n/datepicker-cs');
$.datepicker.setDefaults(i18n_cs);
$('.datepicker').datepicker();