[英]Spreading es6 import statements where they are used
在沒有運行頂級代碼的 js 文件中(它只是導出函數),是否應該將每個 import 語句放在文件頂部? 或者我可以將它們傳播到對我更有意義的地方嗎?
這會影響性能嗎?您會認為這樣的代碼“難以閱讀”嗎?
示例(全部在頂部):
import { multiply } from "./multiplication.js";
import { add } from "./addition.js";
import { toPower } from "./exponentiation.js";
export function computeMagicNumber(x, y, z) {
let magic = linearOperation(x, y);
magic = exponentOperation(magic, z);
return magic;
}
function linearOperation(...) {
// uses multiply() and add()
}
function exponentOperation(...) {
// uses toPower()
}
示例(傳播,以便它更接近使用它的位置):
export function computeMagicNumber(x, y, z) {
let magic = linearOperation(x, y);
magic = exponentOperation(magic, z);
return magic;
}
import { multiply } from "./multiplication.js";
import { add } from "./addition.js";
function linearOperation(...) {
// uses multiply() and add()
}
import { toPower } from "./exponentiation.js";
function exponentOperation(...) {
// uses toPower()
}
這會影響性能嗎?
不,這兩個模塊的工作原理完全相同。
你會認為這樣的代碼“難以閱讀”嗎?
是的。 既定的最佳實踐是將導入放在文件的頂部,這樣您就不必在整個代碼中搜索它們。 此外,導入將首先在模塊中的任何代碼之前進行評估,並且將在整個模塊范圍內可用,因此以線性順序聲明它們是有意義的。
如果您希望您的導入更接近使用它們的函數,請考慮使用較小的模塊,即將每個函數放在單獨的模塊中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.