目錄
命名導出
導出變量
導出函數
總結
默認導出
導出變量
導出函數
總結
因為總是搞不懂export和Import什么時候需要加{},什么時候不用,所以自己測試了一下,以下是總結。
需不需要加{}取決于命名導出還是默認導出,命名導出需要加{},默認導出可加可不加。
命名導出
導出變量
export命名導出時需要加{},否則會報錯。且import頁面引入變量名/函數名需要和export的變量/函數名同名,否則都是undefined。
const testnum = 1;function testFun(){console.log(`test`);
}export { testnum };
命名導出變量,Import時沒加{},打印的是undefined
<script>
import testnum from './t1.js';export default{created(){console.log(testnum);}
}
</script>
import加{},打印正常
<script>
import {testnum} from './t1.js';export default{created(){console.log(testnum);}
}
</script>
導出函數
命名導出需要加{},否則會報錯。
const testnum = 1;function testFun(){console.log(`test`);
}export {testFun};
測試import,未加{}打印值為undefined。
<script>
import testFun from './t1.js';export default{created(){console.log(testFun);}
}
</script>
import {} 打印正常。
<script>
import {testFun} from './t1.js';export default{created(){console.log(testFun);}
}
</script>
總結
命名導出的情況下,不管是export還是import,都需要加{}獲取。
默認導出
導出變量
導出語法加{}和不加{}都不會報錯。
不加{}的情況下,import不加{}可正常獲取。
<script>
import testnum from './t1.js';export default{created(){console.log(testnum);}
}
</script>
不加{}的情況下,import加{}獲取的值為undefined。
<script>
import {testnum} from './t1.js';export default{created(){console.log(testnum);}
}
</script>
加{}的情況下,import加{}不可獲取,不加{},獲得的是對象。
<script>
import testnum from './t1.js';export default{created(){console.log(testnum);}
}
</script>
導出函數
導出函數的規律和導出變量一樣。
export可以加{},也可以不加{}。
不加{}的情況下,import同樣不加{}才能獲取。且獲得的是變量/函數本身。
加{}的情況下,import不加{}才能獲取,且獲得的是包含變量/函數的對象。
總結
默認導出的情況下,export可加{}可不加。
export不加{}的情況下,import的獲取語法與export相同,也不加{},且獲得的是變量/函數本身。
export加{}的情況下,import的獲取語法相反,不能加{},且獲得的變量是包含變量/函數的對象。