欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于JavaScript使用export和import的兩個(gè)報(bào)錯(cuò)解決

 更新時(shí)間:2022年07月07日 16:55:17   作者:buzhimingxiaobai  
說(shuō)來(lái)慚愧es6寫(xiě)了這么久,連最基本的export和import都沒(méi)搞明白,下面這篇文章主要給大家介紹了關(guān)于JavaScript使用export和import的兩個(gè)報(bào)錯(cuò)的解決方法,需要的朋友可以參考下

前言

作為一個(gè)前端小白,最近在學(xué)習(xí)使用JavaScript中的export和import,遇到了兩個(gè)報(bào)錯(cuò),特地記錄下來(lái)。

報(bào)錯(cuò):Uncaught SyntaxError: Cannot use import statement outside a module

報(bào)錯(cuò)Uncaught SyntaxError: Cannot use import statement outside a module

意思是說(shuō)無(wú)法在module以外使用import,在網(wǎng)上進(jìn)行查閱之后才了解到,這是由于script標(biāo)簽?zāi)J(rèn)是使用JavaScript語(yǔ)言,使用ES6的語(yǔ)法會(huì)發(fā)生解析錯(cuò)誤,需要在script標(biāo)簽中加入type=“module”,具體如下:

<script type="module">
	import Rotation from '../js/ui.js'
	Rotation();
</script>

這樣就不會(huì)報(bào)錯(cuò)了。

報(bào)錯(cuò):Uncaught SyntaxError: The requested module ‘…/js/ui.js’ does not provide an export named ‘default’

在解決上面的第一個(gè)報(bào)錯(cuò)之后,控制臺(tái)又拋出了第二個(gè)錯(cuò)誤:

報(bào)錯(cuò):Uncaught SyntaxError: The requested module '../js/ui.js' does not provide an export named 'default'

是說(shuō)我的目標(biāo)JS文件中沒(méi)有default導(dǎo)出,而我的JS文件中是這樣的:

function Rotation() {
   let lbt = document.querySelectorAll('.zh-lbt');
   	for (let i = 0; i < lbt.length; i++) {
   		let lbtNum = Number(lbt[i].getAttribute('num'))||1
   		console.log(lbtNum);               
   	}      
}
export {Rotation};

按理來(lái)說(shuō)這樣寫(xiě)是沒(méi)有問(wèn)題的,export default和export只是暴露目標(biāo)數(shù)有區(qū)別,不應(yīng)該有語(yǔ)法報(bào)錯(cuò),所以我想可能是引入時(shí)出現(xiàn)了問(wèn)題,于是我將

<script type="module">
   import Rotation from '../js/ui.js'
   Rotation();
</script>

加了一個(gè)大括號(hào){},修改為了

<script type="module">
    import {Rotation} from '../js/ui.js'
    Rotation();
</script>

發(fā)現(xiàn)果然控制臺(tái)沒(méi)有報(bào)錯(cuò),并出現(xiàn)了結(jié)果

這個(gè)問(wèn)題我認(rèn)為其原因是export語(yǔ)法可以向外暴露多個(gè)目標(biāo),所以在引入時(shí)需要通過(guò)“{}”以對(duì)象經(jīng)行引入,export default只能向外暴露一個(gè),所以可以不用寫(xiě){}。
然而事實(shí)是我想錯(cuò)了。

在改為export default后,才發(fā)現(xiàn)export default在引入時(shí),不能加{},否則會(huì)報(bào)錯(cuò)。

export default{
  Rotation:function () {
    let lbt = document.querySelectorAll('.zh-lbt');
      for (let i = 0; i < lbt.length; i++) {
        let lbtNum = Number(lbt[i].getAttribute('num'))||1
        console.log(lbtNum);               
      }      
    }
}
<script type="module">
    import {Rotation} from '../js/ui.js'
    Rotation.Rotation();
</script>

此時(shí)控制臺(tái)會(huì)報(bào)錯(cuò)

報(bào)錯(cuò)Uncaught SyntaxError: The requested module '../js/ui.js' does not provide an export named 'Rotation'

同理此時(shí)只要去掉“{}”,就不會(huì)報(bào)錯(cuò)了,并能正確打印上面的結(jié)果。

總結(jié)

到此這篇關(guān)于JavaScript使用export和import的兩個(gè)報(bào)錯(cuò)解決的文章就介紹到這了,更多相關(guān)JS使用export和import報(bào)錯(cuò)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

  • 實(shí)現(xiàn)lightBox時(shí)的樣式與行為分離減少JS

    實(shí)現(xiàn)lightBox時(shí)的樣式與行為分離減少JS

    本教程旨在實(shí)現(xiàn)lightBox時(shí)的樣式與行為分離,減少JS在各方面(全屏遮蔽、ie6中遮蔽select、雙向居中、高度自適應(yīng)內(nèi)容等)的工作。
    2009-07-07
  • textarea焦點(diǎn)的用法實(shí)現(xiàn)獲取焦點(diǎn)清空失去焦點(diǎn)提示效果

    textarea焦點(diǎn)的用法實(shí)現(xiàn)獲取焦點(diǎn)清空失去焦點(diǎn)提示效果

    這篇文章主要介紹了textarea焦點(diǎn)的用法實(shí)現(xiàn)獲取焦點(diǎn)清空失去焦點(diǎn)提示效果,需要的朋友可以參考下
    2014-05-05
  • 基于JavaScript實(shí)現(xiàn)電子簽名功能

    基于JavaScript實(shí)現(xiàn)電子簽名功能

    這篇文章主要為大家詳細(xì)介紹了如何通過(guò)JavaScript實(shí)現(xiàn)簡(jiǎn)單的電子簽名功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-11-11
  • 第二次聊一聊JS require.js模塊化工具的基礎(chǔ)知識(shí)

    第二次聊一聊JS require.js模塊化工具的基礎(chǔ)知識(shí)

    第二次聊一聊JS require.js模塊化工具的基礎(chǔ)知識(shí),本文為大家JS require.js模塊化工具的最基本知識(shí)點(diǎn),感興趣的小伙伴們可以參考一下
    2016-04-04
  • JavaScript實(shí)現(xiàn)彈出子窗口并傳值給父窗口

    JavaScript實(shí)現(xiàn)彈出子窗口并傳值給父窗口

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)彈出子窗口并傳值給父窗口,方法很簡(jiǎn)單,這里推薦給大家,需要的朋友可以參考下
    2014-12-12
  • javascript實(shí)現(xiàn)的字符串與十六進(jìn)制表示字符串相互轉(zhuǎn)換方法

    javascript實(shí)現(xiàn)的字符串與十六進(jìn)制表示字符串相互轉(zhuǎn)換方法

    這篇文章主要介紹了javascript實(shí)現(xiàn)的字符串與十六進(jìn)制表示字符串相互轉(zhuǎn)換方法,涉及javascript字符串轉(zhuǎn)換的相關(guān)技巧,在防止SQL注入和XSS中具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • JavaScript關(guān)鍵字this的使用方法詳解

    JavaScript關(guān)鍵字this的使用方法詳解

    與其他語(yǔ)言相比,函數(shù)的 this 關(guān)鍵字在 JavaScript 中的表現(xiàn)略有不同,此外,在嚴(yán)格模式和非嚴(yán)格模式之間也會(huì)有一些差別,本文就給大家講解一下JavaScript關(guān)鍵字中的this,需要的朋友可以參考下
    2023-08-08
  • JavaScript 完成注冊(cè)頁(yè)面表單校驗(yàn)的實(shí)例

    JavaScript 完成注冊(cè)頁(yè)面表單校驗(yàn)的實(shí)例

    下面小編就為大家?guī)?lái)一篇JavaScript 完成注冊(cè)頁(yè)面表單校驗(yàn)的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • 學(xué)習(xí)Bootstrap組件之下拉菜單

    學(xué)習(xí)Bootstrap組件之下拉菜單

    本文介紹了一款基于HTML,CSS,JAVASCRIPT的簡(jiǎn)潔靈活的流行前端框架,需要了解的朋友可以參考下
    2015-07-07
  • 最新評(píng)論