2021年10月20日 星期三

js 使用class時 引入, 以及全域變數問題 (Uncaught SyntaxError: Cannot use import statement outside a module)


當我們使用class的時候

可能如下









這種時候引入有兩方面

一面

引入的js地方要加上

import CheckFormatForDate from '../common/CheckFormatForDate.js';

另外該js在被引入html的時候, 要宣告type = "module"

如下



如果沒有宣告type="module"則會報 

Uncaught SyntaxError: Cannot use import statement outside a module


另外~當宣告成module, 該檔案中的變數就會和其他檔案的變數隔離

如果要做全域變數, 讓所有引入的module都能夠使用

可以用

window.aaa="aaa"; //宣告

var aaa = window.aaa; //取值

也可以用session

我自己想到另外的方式, 就是把它塞在畫面上隱藏的input中

也是可以解決變數被隔離但是你想做到全域變數的效果


回歸原本 如果不用class 直接引入js也是有全域變數的效果

沒有留言:

張貼留言

AI 時代的軟體工程

  AI 時代的軟體工程:從「代碼寫手」到「系統指揮官」的轉型之路 2026 年,軟體工程正經歷自編譯器發明以來最大的範式轉移。AI 不再只是 IDE 側邊欄的輔助工具,而是進化為具備自主性的 Agent(代理人) ,這場變革正重新定義「工程師」的核心價值。 一、 現狀:AI 普...