2016-07-08 8 views
2

で `インポートNative`作業... どのように私はネイティブJavaScriptをインポートする特定のステートメントに気づい<a href="https://github.com/seliopou/elm-d3" rel="nofollow">Elm and D3</a>に参加しようと、古いライブラリでエルム

import Native.D3.Render 
import Native.D3.Selection 
import Native.D3.Transition 

は我々だけ elm-makeでネイティブJavaScriptをコンパイルすることができますか...?独自のJavaScriptを書くのはお勧めできませんが(タイプセーフではないので)、時には必要になることもあります。

elm-package.jsonは、0.15または0.16で書かれているため、新しい構文変更ではコンパイルされません。ここで


は、それが

[email protected]:~/Documents/Elm$ elm-make test-native.elm 
Success! Compiled 1 module.           
Successfully generated index.html 

0123をコンパイル

import Native.Test 
import Html exposing (text) 

main = text "Hello, World!" 

ネイティブライブラリをインポートのfuctionとelm-package.json

{ 
    "version": "1.0.0", 
    "summary": "helpful summary of your project, less than 80 characters", 
    "repository": "https://github.com/user/project.git", 
    "license": "BSD3", 
    "source-directories": [ 
     "." 
    ], 
    "native-modules": true, 
    "exposed-modules": [], 
    "dependencies": { 
     "elm-lang/core": "4.0.1 <= v < 5.0.0", 
     "elm-lang/html": "1.0.0 <= v < 2.0.0", 
     "elm-lang/svg": "1.0.0 <= v < 2.0.0", 
     "evancz/elm-graphics": "1.0.0 <= v < 2.0.0" 
    }, 
    "elm-version": "0.17.0 <= v < 0.18.0" 
} 

です

ネイティブコードを調べる動機は、ネイティブタイプを使用するElm-D3というライブラリを見ることにあります。基本的には、d3jsライブラリにマップされるタイプD3を作成します。いくつかの問題:

  • このライブラリはD3 3.0
  • エルムにエルム0.16をバインドしかし、この非常に話題にアクティブissueがあるように思わ0.17で、今あるとD3JSは4.0

であります現時点では。

+0

はい、ネイティブモジュールを使用することはできますが、JavaScriptでモジュールを作成するためのAPIはまだ文書化されていません。あなたの質問にもっと具体的にお答えください。 – halfzebra

+0

@halfzebraこれは本当に素晴らしいニュースです...私はあなたに戻ってきます:D –

答えて

0

ネイティブモジュールの一部がJSで実装されています。

ネイティブライブラリを使用するアプリケーションをビルドすると、そのJSコードはelm-makeが作成するバンドルに転送されます。

ここはa link to an article about writing a Native functionです。

+2

すべてのネイティブモジュールは現時点でJSで実装されています。これは '0.16.0'の旧式のチュートリアルです。これはもはや関連しません。 – halfzebra

関連する問題

 関連する問題