我正在使用6.5.2版本和现代工具包开发Extjs项目,我想使用https://momentjs.com/包,但是无法导入node_dependency。 Momentjs页面具有下载或安装方法,但是如果我下载代码,我想在其中使用任何方法,都会引发异常,并且如果我使用“ npm install moment --save”命令安装软件包,则不会知道如何导入和调用它。
有人可以帮助我在extjs中导入此依赖项。
答案 0 :(得分:1)
@Carlos您可以按照Akrion的建议在index.html文件中添加脚本标签。
另一种方式- 在app.json文件中,您可以在js []-
中添加以下内容"js":[
{
"path": "https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js",
"remote": true
}
]
添加后,您需要刷新sencha应用或sencha应用构建。
然后在应用程序代码中可以按以下方式使用它-
var welcomeText = 'Welcome to Sencha Fiddle! Today is: '+ moment(new Date()).format("MM-DD-YYYY");
Ext.Msg.alert('Welcome message',welcomeText);
答案 1 :(得分:0)
另一种方法是Ext.mixin.Mashup混合。
此混合功能使用户可以轻松地在其要求中使用外部脚本 类。此加载过程会延迟应用程序启动(Ext.onReady) 直到所有此类脚本均已加载,以确保您的课程 从一开始即可访问其所需的脚本。
因此,您可以拥有一个Moment.js适配器类,如下所示:
Ext.define('MomentjsAdapter', {
mixins: ['Ext.mixin.Mashup'],
requiredScripts: [
'https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js'
],
...
});
我非常喜欢这一点,因为您将外部依赖项保持在使用它的位置附近。当您可能想要删除依赖项或在其他地方/项目中重复使用它时,这非常方便。