javascript - למה אנחנו צריכים להחריג את node_modules ב-webpack?
להלן קובץ קונפיגורציית webpack:
module.exports = {
mode: "development",
entry: "./src/index.ts",
output: { filename: "bundle.js" },
resolve: { extensions: [".ts"] },
module: {
rules: [
{ test: /\.ts/, use: "ts-loader", exclude: /node_modules/ }
}
]
}
};
אני לא מבין למה אנחנו צריכים להוציא את node_modules כשעוסקים בקבצי TypeScript? להלן הנקודות שלי:
1-ראשית, כמעט כל החבילות נכתבות ב-JS ולא ב-TS, זה לא יזיק אם נכלול את node_modules.
2-אם אנחנו מתייחסים לחבילה שכתוב ב-ts, אנחנו בהחלט רוצים שהקוד ב-ts יוקמפל לקוד js, ואז אנחנו צריכים לכלול את node_modules כדי לוודא שהכל עובד, נכון?
תשובה #1
1-ראשית, כמעט כל החבילות נכתבות ב-JS ולא ב-TS, זה לא יזיק אם נכלול את node_modules.
החרגת node_modules בשלב התרגום משפרת את הביצועים שיכולים אחרת להיפגע.
אם אנחנו מתייחסים לחבילה שכתובה ב-ts, אנחנו בהחלט רוצים שקוד ה-ts יוקומפל לקוד js, ואז אנחנו צריכים לכלול את node_modules כדי לוודא שהכל עובד, נכון?
כן, ואז הוא המפתח כאן. החרגת node_modules בשלב התרגום לא מונעת מ-webpack להשתמש בתוכן שלו בשלב החבילה.