Javascript 由';出口';关键词?
我正在阅读有关Javascript 由';出口';关键词?,javascript,ecmascript-6,Javascript,Ecmascript 6,我正在阅读有关ES2015模块的内容,并试图确保我了解这一新功能 既然没有什么比更像“严格使用”,那么浏览器如何确定.js文件是ES2015module v.s.ES5文件和一堆全局文件?是否只存在至少一条“export”语句 既然没有什么比“严格使用”更合适的了,那么浏览器如何确定.js文件是一个ES2015模块v.s.一个包含大量全局变量的ES5文件?是不是至少有一个“出口”声明 当你问这个问题时,它还没有被决定,但它是在几年后:属性被使用: <script type="modul
ES2015
模块的内容,并试图确保我了解这一新功能
既然没有什么比更像“严格使用”
,那么浏览器如何确定.js文件是ES2015
module v.s.ES5
文件和一堆全局文件?是否只存在至少一条“export
”语句
既然没有什么比“严格使用”更合适的了,那么浏览器如何确定.js文件是一个ES2015模块v.s.一个包含大量全局变量的ES5文件?是不是至少有一个“出口”声明 当你问这个问题时,它还没有被决定,但它是在几年后:属性被使用:
<script type="module" src="./mod.js"></script>
您还需要包括一个路径(不仅仅是src=“mod.js”
),除非您使用一个路径(在2019年7月撰写本文时,这个路径相对较新,我认为还没有任何浏览器支持它们)
如果在非模块的内容中使用import
或export
,则会出现语法错误
在Node.js中,它有自己的CommonJS(CJS)模块系统,ECMAScript模块(ESM)用以下两种方式之一表示:
package.json
中使用“type”:“module”
,或.mjs
,而不是.js
(如果最近的
package.json
有“type”:“module”
,您仍然可以拥有一个属于CJS模块的脚本,方法是给它扩展名.CJS
)详细信息。根据,模块不能放在脚本
标记内,它们必须放在模块
标记内。因此,由script
标记加载的代码不能被视为模块,而由module
标记加载的代码必须是模块。甚至连
标记的草稿都没有,是吗?@zerkms:No。
// This file is interpreted as ES2015 module
function fun1() {...}
function fun1() {...}
export default function(){...}
<script type="module" src="./mod.js"></script>