Chrome 开发者工具中的 Webpack 3.5.5 调试显示两个源文件。一个在 webpack:// 下,另一个在 webpack-internal:// 下

2024-02-11

迁移现有的 webpack 项目以使用 webpack 3.5.5 及其新配置。使用 Express 服务器而不是 webpack-dev-server。 我必须在 webpack 中设置解析,如下所示。

const resolve = {
    extensions : ['.js'],
    modules : [
        'node_modules',
        'src',
        'testApplication'
    ]
};

当我使用 Chrome 开发者工具调试此 webpack 应用程序时,我可以看到源文件的 2 个版本。

  1. webpack://下的第一个 与来源完全一致
  2. webpack-internal://下的第二个 这是 babel 编译版本的源码。

我的问题是

  1. 有没有办法让我只获得文件的第一个版本而不是两者?
  2. 我认为node_modules应该隐式定义为一个模块,而不是我在resolve中显式指定它,是否可以通过某种方式使构建工作而无需在resolve中定义node_modules。
  3. 在 webpack 3.5.5 使用相同的源代码(从 webpack 1.14.0 迁移)后,express 服务器启动似乎减慢了节点速度。我的猜测是在解析下的模块中指定了node_modules导致了它。有任何想法吗?

  1. 您可以使用 Webpack 配置源映射devtool财产。你想要的是devtool: 'source-map'(source https://webpack.js.org/configuration/devtool/)。这只会向您显示原始源代码webpack://。请注意,还有其他选项可能更适合您的用例。

  2. ["node_modules"]的默认值是resolve.modules。但是,如果您指定resolve.modules你需要包括"node_modules"在数组中。 (source https://webpack.js.org/configuration/resolve/#resolve-modules)。 你指定的似乎很奇怪"src" and "testApplication" in resolve.modules。如果您有本地源文件,您应该使用相对路径来要求它们,例如require("./local_module")。这应该可以在没有src in resolve.modules

  3. 指定node_modules in resolve.modules不对任何速度减慢负责(参见 2.)。速度变慢的可能原因有很多。例如。也许你错误地将 babel 应用于整个node_modules folder?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome 开发者工具中的 Webpack 3.5.5 调试显示两个源文件。一个在 webpack:// 下,另一个在 webpack-internal:// 下 的相关文章

随机推荐