use*_*604 5 javascript native momentjs elm
我已经和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
.
有什么建议?
经过一番挖掘,你想做的事情完全可能是的!:)但是,它不会是一个简单的复制粘贴.看看你在这里发布的来源,它需要将每个函数映射到本机榆树函数,我建议从这个转换开始.
首先,获取一个简单的hello world本机示例工作,请参见此处
其次,从moment.js逐个添加一些更简单的函数,我建议从moment\src\lib\format\format.js开始
最后,我知道这不是你想听到的,但如果你真的想在榆树中写javascript,也许榆树不是你想要的?我真的无法想象转换类似于Moment.js的整个库比创建自己的受Moment.js启发的Elm库更简单
无论哪种方式,祝你好运!无论如何看起来像一个有趣的挑战:)
归档时间: |
|
查看次数: |
245 次 |
最近记录: |