2017-08-10 61 views
0

我很抱歉問這樣的初學者問題,但我剛剛沒有學到JS的基礎知識,也沒有完全理解新的ES6功能。如何在Laravel中使用這個JS庫?進口?要求?

我只想我的項目中使用rangy和我的HTML文件(葉片模板)內<script></script>標籤都有效初始化瘦長對象以下方法

rangy.init(); 

的瘦長庫由六個文件,所有這些都包含在我的頁腳中。

Chrome控制檯告訴我rangy是未定義的。我需要做什麼? 我試過的import語法變種數以千計,但控制檯告訴我unexpected token import

我試圖編譯的文件到一個文件,Laravel混合(mix.babel,mix.js,mix.scripts),毫無效果。 我很確定我只需要掌握如何使用ES6模塊的概念,但沒有教程真的幫助。也許你們中的一個能幫我弄清楚在這個特殊情況下如何使用rangy?

在此先感謝!

+0

通常,你想綁定你的JS(與庫和你自己的任何代碼),然後在服務器端輸出中包含或引用該文件。不幸的是,正如所寫的,我認爲這個問題可能太廣泛而不能很好地回答。 – ssube

+0

只需導入,在這裏閱讀雖然不相關,你可以看到這個傢伙是如何導入rangy的https://stackoverflow.com/questions/34104643/typeerror-g-rangy-saveselection-is-not-a-function-using-textangular-rangy -b – Stavm

回答

0

您應該使用導入語法來導入帶有JavaScript的模塊,因爲這是支持的語法,最終將在瀏覽器中使用。但是,由於瀏覽器還不支持此功能,這意味着您需要啓用webpack才能使用babel-loader。

一旦配置設置和工作,你可以簡單地導入您的模塊是這樣的...

import rangy from 'rangy' 

當然,你還需要四肢修長可用在本地您的node_modules文件夾或全球的裝機量如此的WebPack和巴貝爾會知道在哪裏可以找到它。

0

感謝您的回答。我嘗試了一些東西,並沒有取得真正的成功... 所以我做了以下內容:在我webpack.mix.js(Laravel混合)我有我需要的文件:

mix.babel([ 
    'node_modules/rangy/lib/rangy-core.js', 
    'node_modules/rangy/lib/rangy-classapplier.js', 
], 'public/js/rangy.js'); 

我嵌入編譯rangy.js在我的頁腳元素

<script type="text/javascript" src="{{ URL::asset('js/rangy.js')}}"></script> 

下面我導入和初始化瘦長

<script> 

    import rangy from 'rangy'; 

    rangy.init(); 

</script> 

和Chrome控制檯給我Uncaught SyntaxError: Unexpected token import

那是錯誤的方法嗎?