Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.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,can';你似乎没有导出模块?_Javascript_Module - Fatal编程技术网

JavaScript,can';你似乎没有导出模块?

JavaScript,can';你似乎没有导出模块?,javascript,module,Javascript,Module,所以我才开始学习JavaScript。我正在使用纯JavaScript,并学习代码学院的课程。来自C#我对模块的理解类似于C#中的名称空间。我在导出和导入它们时遇到问题: let Module = { name: 'Hello' }; export default Module; 这向我抛出了一个错误-“未捕获的SyntaxError:意外的令牌导出” 我还尝试了ES5 Syntax: let Module = { name: 'Hello' }; module.exports = M

所以我才开始学习JavaScript。我正在使用纯JavaScript,并学习代码学院的课程。来自C#我对模块的理解类似于C#中的名称空间。我在导出和导入它们时遇到问题:

 let Module = {
 name: 'Hello'
};
export default Module;
这向我抛出了一个错误-“未捕获的SyntaxError:意外的令牌导出”

我还尝试了ES5 Syntax:

 let Module = {
 name: 'Hello'
};
module.exports = Module;

这会引发另一个错误-“未捕获引用错误:未定义模块”。我使用的是最新版本的Chrome,我不知道为什么JavaScript不能识别这些命令。这是非常令人沮丧的,不能让我的头围绕它。因此,我想请人帮我解决这个问题。

如果您使用的是最新版本的Chrome,它确实支持ES2015+模块。您需要确保您的
脚本
标记显示它是一个模块:

<script type="module">
import name from './your-module-file.js';
console.log(name); // {name: "Hello"}
</script>

从“./your module file.js”导入名称;
console.log(名称);//{name:“你好”}
那么你的第一个例子就行了



但请注意,
模块
不是一个模块。这是您从模块导出的对象。

您需要在脚本标记上添加属性
type=“module”
。感谢您的回答,但我更困惑的是,为什么ES5示例不起作用,为什么它不能识别module.exports?我错过什么了吗?我正做的正是代码学院在他们的网站上做的。它适用于他们,但不适用于我。@DaniloDimitrievski因为它不是“ES5”,它是common.js模块样式,假定为半全局的
模块
需要
对象。如果不使用特定的库,浏览器就没有这些功能。