Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript导入/导出CORS问题_Javascript_Ecmascript 6_Import_Export_Instance - Fatal编程技术网

Javascript导入/导出CORS问题

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:“”, 关闭标记:“” }, 表

我需要从一个包含3个类的特定javascript文件创建一个类的实例,并从另一个javascript文件调用该类的方法。主javascript文件中的类如下所示:

函数类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的一个特性。因此,我不知道如何从另一个文件调用函数。