Webpack 在 SSR 构建期间挂起 - Angular 12

2024-02-08

我正在运行 webpack v5.50,用于 Angular 项目的服务器端渲染构建,配置如下

module.exports = {
  mode: 'none',
  entry: {
    server: './server.ts',
  },
  
  externals: {
   './dist/server/main': 'require("./server/main")'
  },
  
  target: 'node',
  resolve: { extensions: ['.ts', '.js'] },

  optimization: {
    minimize: false
  },
  output: {
    // Puts the output at the root of the dist folder
    path: path.join(__dirname, 'dist'),
    library: 'app',
    libraryTarget: 'umd',
    filename: '[name].js',
  },
  module: {
    noParse: /polyfills-.*\.js/,
    rules: [
      { test: /\.ts$/, loader: 'ts-loader' },
      {
        // Mark files inside `@angular/core` as using SystemJS style dynamic imports.
        // Removing this will cause deprecation warnings to appear.
        test: /(\\|\/)@angular(\\|\/)core(\\|\/).+\.js$/,
        parser: { system: true },
      },
    ]
  },
  plugins: [
    new webpack.ContextReplacementPlugin(
      // fixes WARNING Critical dependency: the request of a dependency is an expression
      /(.+)?angular(\\|\/)core(.+)?/,
      path.join(__dirname, 'src'), // location of your src
      {} 
    ),
    new webpack.ContextReplacementPlugin(
      /(.+)?express(\\|\/)(.+)?/,
      path.join(__dirname, 'src'),
      {}
    )
  ]
}

但在 Angular 12 升级后,相同的构建在发出后挂起,没有解决几个小时,最后出现错误,如下所示

 [webpack.Progress] 95% emitting emit
 [webpack.Progress] 95% emitting emit
 [webpack.Progress] 98% emitting after emit
 [webpack.Progress] 98% emitting after emit
 [webpack.Progress] 99% done plugins
 [webpack.Progress] 99% done plugin
 [webpack.Progress] 99% cache store build dependencies
 [webpack.Progress] 99% cache store build dependencies
 [webpack.Progress] 99% cache begin idle
 [webpack.Progress] 99% cache begin idle
 [webpack.Progress] 100% 
 [webpack.Progress] 100% 
 /node_modules/webpack/lib/stats/DefaultStatsPrinterPlugin.js:1183
                return match.replace(content, format(content));
                             ^
 
 RangeError: Invalid string length
     at String.replace (<anonymous>)
    /node_modules/webpack/lib/stats/DefaultStatsPrinterPlugin.js:1183:18
    at String.replace (<anonymous>)

P.S:Node - 16.19.1,Webpack - 5.50,Typescript - 4.3.5,"@angular-devkit/build-angular": "~12.2.18" 内部安装 webpack 5.50 版本用于编译 SSR 版本


None

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

Webpack 在 SSR 构建期间挂起 - Angular 12 的相关文章

随机推荐

  • travis go error '命令“eval go get -t -v ./...”失败'

    我有一个非常简单的设置 Travis yml 文件 https github com openassistive OpenATFrontEnd blob master travis yml https github com openassi
  • 当我将文本从 java servlet 加载到 JTextPane 时,为什么会丢失换行符?

    我尝试使用 java servlet 加载包含多行文本的文本文件的内容 当我在浏览器中测试 servlet 时 它工作正常 文本加载新行字符 但是当我将它加载到我的 swing 应用程序中的字符串然后使用textpane setText t
  • 从 int** 到 const int** 的转换

    为什么我会进入这段代码 void foo const int int main int v new int 10 foo v return 0 这个错误 invalid conversion from int to const int fp
  • 使用 Mapstruct 作为 JOOQ 的 RecordMapper

    我想实现我自己的RecordMapper并使用 Mapstruct 将 Record 映射到 POJO 我不太明白如何实现这一点 我遵循了文档的这一部分 https www jooq org doc 3 13 manual sql exec
  • unicode中字符串的长度不同

    尽管字符串中的字符数相同 但为什么以下字符串的长度不同 echo strlen 馐 馑 馒 馓 馔 馕 首 馗 馘 br echo strlen br Outputs 35 26 第一批字符每个占用 3 个字节 因为它们在 39000 个字
  • 如何删除信号处理程序

    我已经制作了以下信号处理程序 struct sigaction pipeIn pipeIn sa handler updateServer sigemptyset pipeIn sa mask sa sa flags SA RESTART
  • 如何在iPhone上进行Base64编码

    如何在iPhone上进行Base64编码 我发现了一些看起来很有希望的例子 但永远无法让它们在手机上工作 你可以看一个例子here http iosdevelopertips com core services encode decode
  • 图像捕获延迟 - React Native Camera / Expo Camera

    我正在尝试实现与 Facebook 或 Instagram 相同的功能 即时预览相机拍摄的图像 此时 当调用此函数时 我的 take 被正确获取 takePicture async function if this camera this
  • 将 8 字节的小端二进制转换为双精度浮点数

    我有一个二进制文件 我逐字节读取 我遇到一个 8 字节长的部分 包含一个双精度浮点 小端 我不知道如何读取它并通过掩蔽和 或转换正确计算它 具体来说 文件类型是 LAS 但这并不重要 Java有什么技巧吗 您可以使用ByteBuffer h
  • Python Fabric:如何响应键盘输入?

    我想自动响应某些程序提示的某些问题 例如 mysql 提示输入密码 或者 apt 询问 是 或 当我想使用 manage pyrebuild index 重建我的干草堆索引时 对于 MySQL 我可以使用 password 开关 并且我确信
  • 在 MSVC 中处理 __attribute__

    我想知道处理包含 GCC 的代码的最佳方法是什么 attribute 使用 MSVC 时的扩展 以下是处理此问题的安全方法 define attribute x blank should simply ignore thanks to C
  • 如何跨包引用 Android“资产”?

    我有一个以 免费 和 专业 版本发布的 Android 应用程序 我已经使用从两个版本引用的基础 库 项目设置了我的项目 这样我的包集如下所示 com example myapp com example myapp free com exa
  • 如何翻译活动记录模型验证

    当我提交有错误的表单时 它会返回一条错误消息 如何使用 i18n 翻译这些错误消息 我已经翻译了我视图中的所有其他文本 所以我知道 l18n 在 Rails 中是如何工作的 我现在明白了 2 errors prohibited this u
  • 寻找最高的键

    我只是对为什么我的代码不起作用感到困惑 这是我到目前为止的问题和代码 测试运行表明我的答案是错误的 给定字典d 找到字典中最大的key并将对应的值与变量关联起来val of max 例如 给定字典 5 3 4 1 12 2 2 将与val
  • 循环数组和另一个对象中的对象

    我有以下结构 我需要在 React 中获取内部值并通过 我想我需要获取一个值数组 例如 Bitcoin Etherium 并通过它进行映射 我怎样才能实现它 let arr CoinInfo Id 1182 Name BTC FullNam
  • 汇编中的结构或类

    我需要 C 中的结构或类之类的东西 例如 我需要一个带有数组和两个属性 大小和长度 的类以及一些函数 例如append和remove 如何使用宏和过程在汇编中实现这一点 Tasm 支持例如 struc String note without
  • Java流按2个字段排序

    我有需要按 2 个参数排序的项目列表 第一个参数是 orderIndex 并且我使该部分正常工作 参见下面的代码 orderIndex 之后的第二个参数是 amount 所以基本上第一个项目应该是顺序索引最低的项目 并且需要按数量排序 re
  • 具有路径变量的多个请求映射值

    RequestMapping value abcd employees value id public String getEmployees PathVariable value value String val PathVariable
  • PHPUnit @dataProvider 根本不起作用

    我已阅读有关该主题的文档 并且我的代码遵循数据提供程序实现的所有要求 首先 这是测试的完整代码 http pastebin com tuT9pV9h以防万一它是相关的 这是实现数据提供者的函数 Test the createGroup fu
  • Webpack 在 SSR 构建期间挂起 - Angular 12

    我正在运行 webpack v5 50 用于 Angular 项目的服务器端渲染构建 配置如下 module exports mode none entry server server ts externals dist server ma