javascript中的export和import怎么用

如题所述

export和import用于JavaScript的模块化操作。你可以在文件A.js中写好一些对象:
export var foo1;
export function foo2(){};
export class foo3 extend prop{}

然后在其他地方引用这些模块
import {foo1,foo2, foo3} from 'A.js'

export default就是暴露一个默认的变量,函数或者类,而这个变量,函数或者类可以没有名字,直接导入。例如:
//A.js
export default "string" //;不要分号,不然有时会报错

//B.js
import foo from "A";
console.log(foo);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-10
var JCore = {//构造核心对象
version:1.0,
$import:function(importFile){
var file = importFile.toString();
var IsRelativePath = (file.indexOf("$")==0 ||file.indexOf("/")==-1);//相对路径(相对于JCore)
var path=file;
if(IsRelativePath){//计算路径,$开头表示使用当前脚本路径,/开头则是完整路径
if(file.indexOf("$")==0)
file = file.substr(1);
path = JCore.$dir+file;
}
var newElement=null,i=0;
var ext = path.substr(path.lastIndexOf(".")+1);
if(ext.toLowerCase()=="js"){
var scriptTags = document.getElementsByTagName("script");
for(var i=0;ilength;i++) {
if(scriptTags[i].src && scriptTags[i].src.indexOf(path)!=-1)
return;
}
newElement=document.createElement("script");
newElement.type="text/javascript";
newElement.src=path;
}
else if(ext.toLowerCase()=="css"){
var linkTags = document.getElementsByTagName("link");
for(var i=0;ilength;i++) {
if(linkTags[i].href && linkTags[i].href.indexOf(path)!=-1)
return;
}
newElement=document.createElement("link");
newElement.type="text/css";
newElement.rel="Stylesheet";
newElement.href=path;
}
else
return;
var head=document.getElementsByTagName("head")[0];
head.appendChild(newElement);
},
$dir : function(){
var scriptTags = document.getElementsByTagName("script");
for(var i=0;ilength;i++) {
if(scriptTags[i].src && scriptTags[i].src.match(/JCore/.js$/)) {
path = scriptTags[i].src.replace(/JCore/.js$/,"");
return path;
}
}
return "";
}()
}
其中$dir表示当前脚本文件的路径,通过当前文件的文件名查找路径;$import方法可以导入js脚本或css样式表文件,如果以$开头则使用当前脚本文件的路径导入文件,如果以/开头则表示是完整的脚本路径!
$import("/Script/myfile.js");
$import("/Script/mystyle.css");
$import("$myfile.js");
为html动态添加script节点元素或style节点元素只是动态导入脚本的一种脚本,除此之外,还可以通过Ajax异步请求js脚本文件,然后通过eval方法把获取的脚本文本转换为脚本代码实现动态导入功能!但是css样式表文件无法通过这种方式导入!不过CSS样式表本身即有@import关键字,可以实现文件引用包含!
第2个回答  2017-08-12
export导出
import导入 这是java中用的
第3个回答  2018-06-27
  这两个变量名都不是javascript原生的东西, 简单一点说: 目前javascript没这东西。本回答被网友采纳
相似回答