2021年1月7日 星期四

[Javascript] 在js中call另一個js的function

簡短的說明如何在index.html檔中呼叫test.js檔的function,而test.js中又呼叫showLog.js中的function。最近在寫js code,js檔發展的愈來愈大,終於忍不住想把它拆開來模組化。上網找資料,不知道為什麼找到的總是和node.js有關,不然就是要裝一些其它軟體,瀏覽器上的東西怎麼可能這樣搞,東拼西湊終於試出來,簡單的範例以及中間遇到過比較討厭的問題寫在下面。


Access to script at 'file:///User/test.js' from origin 'null'

has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes:

http, data, chrome, chrome-extension, https.

這段話是說瀏覽器上的網址列不能是file開頭,必需是後面列的http, data, chrome, chrome-extension, https這幾種開頭才行。


最後成功的範例

index.html

<html>

<head>

<script type="module">

      import {myFun} from './test.js';

      window.onload = myFun;

</script>

</head>

<body>

</body>

</html>


test.js


import * as ouputLog from './showLog.js';

export function myFun() 

{

ouputLog.showData();

}


showLog.js


export function showData() 

{

console.log("show log");

}


webpack 新手教學之淺談模組化與 snowpack

https://blog.techbridge.cc/2020/01/22/webpack-%E6%96%B0%E6%89%8B%E6%95%99%E5%AD%B8%E4%B9%8B%E6%B7%BA%E8%AB%87%E6%A8%A1%E7%B5%84%E5%8C%96%E8%88%87-snowpack/

淺談JavaScript ES6的import與import{}及export及export default使用方式

https://blog.typeart.cc/%E6%B7%BA%E8%AB%87JavaScript%20ES6%E7%9A%84import%E8%88%87import%7B%7D%E5%8F%8Aexport%E5%8F%8Aexport%20default%E4%BD%BF%E7%94%A8%E6%96%B9%E5%BC%8F/

MDN Web Docs import

https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Statements/import


沒有留言:

張貼留言