我已经和Elm玩了几天了,我想建立一个Moment.JS的端口,因为我看到我想要的东西缺少库,而且Moment只有我需要的一切.
问题是我总是面临同样的错误.我的Native文件夹中有Moment.JS(名为MomentJS.js),另一个名为Moment.js的文件(我的包装器).问题是,当我在Moment.js中调用时刻时,我得到一个错误,表示该时刻未定义.
在Moment.js之前和/或之后,我也尝试在我的elm文件中导入MomentJS.js.我还尝试将整个JS复制到Moment.js并在其末尾添加我的包装器.这些都没有奏效.你知道我该怎么办?我一直在互联网上寻找类似的回购,但我从来没有见过一个模块有一个包装器和另一个JS文件只是为本机库.
这是我的Moment.js代码:
var _user$project$Native_Moment = (function() {
var moment = require('moment');
var format = function ( format, date ) {
return moment().format();
}
return {
format: format
};
})();
Run Code Online (Sandbox Code Playgroud)
和我的Moment.elm代码:
module Moment exposing (format)
{-| A module desc
@docs format
-}
import Native.MomentJS
import Native.Moment
{-| Call the default `Moment.js` format method
-}
format : String -> String -> String
format fm dt = Native.Moment.format fm dt
Run Code Online (Sandbox Code Playgroud)
我尝试的最后一件事是从npm下载Moment,将其文件夹从node_modules文件夹复制到我的Native文件夹moment = require('moment')
但是我得到了TypeError: fun(...) is not a function …