为什么我们需要在 webpack 中排除 node_modules?

下面是一个 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?以下是我的观点:


1-首先,几乎所有的包都是用js而不是ts编写的,如果我们包含node_modules不会有什么坏处。


2-如果我们引用一个用 ts 编写的包,我们肯定希望将 ts 代码编译为 js 代码,那么我们必须包含 node_modules 以确保一切正常,不是吗?


Qyouu
浏览 1085回答 1
1回答

哔哔one

1-首先,几乎所有的包都是用js而不是ts编写的,如果我们包含node_modules不会有什么坏处。node_modules在转译阶段排除会提高性能,否则可能会受到影响。如果我们引用用 ts 编写的包,我们肯定希望将 ts 代码编译为 js 代码,那么我们必须包含 node_modules 以确保一切正常,不是吗?是的,然后是这里的关键。node_modules在转译阶段排除并不会阻止 webpack 在捆绑阶段使用其内容。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript