Javascript导入/导出CORS问题
我需要从一个包含3个类的特定javascript文件创建一个类的实例,并从另一个javascript文件调用该类的方法。主javascript文件中的类如下所示:Javascript导入/导出CORS问题,javascript,ecmascript-6,import,export,instance,Javascript,Ecmascript 6,Import,Export,Instance,我需要从一个包含3个类的特定javascript文件创建一个类的实例,并从另一个javascript文件调用该类的方法。主javascript文件中的类如下所示: 函数类1(param1,param2){ 这个.openTag; 这个.closeTag; 这个.htmlTags; this.openTag=''; this.closeTag=''; this.htmlTags={ 章节标题:{ openTag:“”, 关闭标记:“” }, 组:{ openTag:“”, 关闭标记:“” }, 表
函数类1(param1,param2){
这个.openTag;
这个.closeTag;
这个.htmlTags;
this.openTag='';
this.closeTag='';
this.htmlTags={
章节标题:{
openTag:“”,
关闭标记:“”
},
组:{
openTag:“”,
关闭标记:“”
},
表:{
openTag:“”,
关闭标记:“”
}
}
...
}
还有一些方法,如:
Class1.prototype.someName=函数(索引){
var outputHtml='';
var text=this.tableHeaders[index]| |“”;
outputtml+=''+文本+'';
返回outputHtml;
}
如何创建这些类的实例并从另一个javascript文件调用它们,或者如何在HTML中使用它们?当我尝试执行ES6导入/导出或创建引用这些类的新对象时,会出现以下错误:
访问位于的脚本'file:///Users/user/Desktop/project/someName.jsCORS策略已阻止“来自源”的“null”:跨源请求仅支持协议方案:http、数据、chrome、chrome扩展、https。
&
app.js:1 Uncaught SyntaxError:无法在模块外使用import语句
如果您的项目是使用npm创建的,即您没有在index.html的底部加载脚本文件,则javascript模块的工作效果最佳。如果您确实在底部加载了脚本,您可能需要执行类似的操作
<script type="module">
import btn from './helper'
</script>
从“/helper”导入btn
所以,我解决了我的问题。我没有使用node.js
。我试图从另一个文件调用函数,并将它们显示在HTML
文件中。但是CORS
政策不允许我使用它们。我所做的是,在VS代码上安装了扩展
它启动了一个localhost
服务器,问题就解决了。因为您需要的是http://
。因为当您打开一个HTML文件时,它将从文件://
加载模型,这会导致一个问题。只需打开一个HTML文件,右键单击编辑器,然后单击openwithliveserver
,即可启动localhost
我使用了像constabc=newclass()这样的实例代码>和abc.someMethod()代码>
重要注意事项
不要忘记将script
标记添加到HTML
中,并确保您的主script
标记低于其他标记,如:
另一个重要的注意事项是,如果您在按照我说的做的情况下也遇到这种错误,请确保您的脚本
标记没有type=“module”
您还可以检查其他类型的解决方案。希望有帮助:)项目不是使用npm创建的。它只是一个带有ecmascript 5的js文件。导入/导出是ES6的一个特性。因此,我不知道如何从另一个文件调用函数。