如何使用ES6导入(客户端JS)

时间:2018-03-02 21:19:31

标签: es6-modules vee-validate

我正在尝试使用VeeValidate,示例显示ES6导入的用法如下:

import { Validator } from 'vee-validate';

我的理解是,这只适用于npm而不适用于CDN。我想只编写客户端js而不使用节点js。我是否需要研究像browserify或webpack这样的东西?

我尝试从CDN链接复制javascript,只是将其作为导入的本地js文件,但无法使其正常工作。它没有用,因为我没有出口报表?

3 个答案:

答案 0 :(得分:5)

busy_timeout当前支持导入/导出语法。

您可以使用它“包含”您的脚本,但第一件事就是type="module"作为<script tag> 的属性(例如{{1 }})

然后您可以在模块中<script type="module"> / import。而且 YES 模块需要导出一个值(变量,函数...)才能在另一个脚本中使用它,但这是可选的,因为您可以执行脚本而无需导出任何内容。

文档:

请记住,尚不支持此功能,如果您考虑到浏览器的兼容性,则需要使用polyfill

答案 1 :(得分:0)

正如您所说,问题是导入目前仅通过Node在全球范围内得到支持。如果您想在客户端快速导入代码,并且jQuery是一个选项,那么您可以使用:

$.getScript( "ajax/test.js" )
.done(function( script, textStatus ) {
    console.log( textStatus );
})
.fail(function( jqxhr, settings, exception ) {
    $( "div.log" ).text( "Triggered ajaxError handler." );
});

这将从服务器加载并执行JavaScript代码。当脚本下载完成后调用回调done,但不一定完成执行。

有关详情,请查看official reference

答案 2 :(得分:0)

尝试一下:

const url = './demo.js';
try { import(url).loadPageInto(main);} 
catch (error) { main.textContent = error.message; }