2017-08-10 30 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

那是错误的方法吗?