亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

打字稿:如何從瀏覽器控制臺訪問功能

打字稿:如何從瀏覽器控制臺訪問功能

侃侃爾雅 2023-03-18 17:31:07
語境中ts/app.ts,有:function foo() {    console.log('Hello Word');}它使用 Webpack 成功編譯bundle.js并加載:<script src="dist/bundle.js"></script>問題如何foo從我的瀏覽器控制臺執行?> foo()Uncaught ReferenceError: foo is not defined
查看完整描述

1 回答

?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

正如您擁有的那樣,您無法在全球范圍內訪問它。但如果你愿意,你可以做到


function foo() {

    console.log('Hello Word');

}


(window as any).foo = foo;

然后它應該在對象上可用window(這意味著您可以訪問它或者window.foo()因為foo()該window對象是全局對象。


默認情況下,諸如此類的變量和方法foo對于它們所在的模塊(即文件)是私有的。您可以像這樣導出它們:


export function foo() {

    console.log('Hello Word');

}


這意味著您可以從其他模塊導入它們,即


import {foo} from "foo";

foo();

但是瀏覽器本身不理解那個import和export語法 (*) 所以它們仍然不是全局的。是 webpack 理解該語法并將它們全部拼接成瀏覽器可以使用的形式(在您的“dist/bundle.js”文件中)。查看該文件,您將看到 webpack 插入的引導程序代碼。


(*) 編輯:瀏覽器開始支持模塊:


從本質上講,沒有什么是全局的,但這是一件好事,否則它們可能會相互沖突。即它不會是模塊化的。


查看完整回答
反對 回復 2023-03-18
  • 1 回答
  • 0 關注
  • 130 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號