我正在撰寫 JavaScript 運算式以用于專門的地理空間軟體。
在地理空間軟體中,onlyconsole()有效,無效console.log()。
在作業時,我正在使用 Node.JS 在 VS Code中除錯我的地理空間腳本(因為地理空間軟體沒有 linting 功能等)。
我的理解是 Node.js 使用console.log()語法,而不是console().
因此,當在兩個程式之間來回移動腳本時,我需要進行查找和替換以從console()to切換console.log()(反之亦然)。這變得乏味。
題:
在 VS Code / Node.js 中,有沒有辦法使用console()而不是console.log()?在開發我的腳本時,這會讓事情變得容易得多。我將能夠擁有一個適用于這兩個程式的標準腳本。
我是新手,所以外行的條款將不勝感激。
uj5u.com熱心網友回復:
在 VS Code / Node.js 中,有沒有辦法使用
console()而不是console.log()?
我想不出一種不會破壞您可能正在使用的其他模塊中的代碼的方法,因為它需要重新分配console全域,那就是……全域。(我在下面包含了一個可能的選項,但是......我不喜歡它。)
但即使你能找到一種方法來做到這一點,我也不會。相反,在腳本的頂部,我會有類似的內容:
const log = typeof console === "function" ? console : console.log;
...然后log在整個腳本中使用(或您想使用的任何名稱)。它將參考適當的函式。
以下是可能不會破壞其他代碼的內容:
console = Object.assign(console.log, console);
這取代console了console.log,但也將所有console屬性(好吧,無論如何都是自己的可列舉屬性)作為屬性放在函式上,因此consoleand console.log(和console.error等)都可以作業。但是不能保證毫無戒心的模塊中的代碼不會if (typeof console === "object")決定它是否可以使用console,并且會失敗,因為typeof會回傳"function"它。
再說一遍:我會使用上面的第一個解決方案:獨立log功能。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/441935.html
