如何将 Webpack 生成的代码插入服务器端 node.js 脚本?

How do I insert Webpack-generated code into a server-side node.js script?

我有一个用 Typescript 编写的网络应用程序。没有框架,因为它们不适合我的任务。该应用程序是使用 Webpack 编译的。到目前为止它工作正常。然后我想实现应用程序某些部分的服务器端渲染。我希望我的部分代码和 html 页面以及图像和样式由 node.js 脚本提供。

所以。我正在尝试配置 Webpack 使我成为一个 js 文件,然后我可以 require 进入我的另一个 ssr.js node.js 服务器脚本。 但我不知道该怎么做。生成的脚本被包裹在某些东西中,它偶然发现 window 未被定义并且不等于 global 命名空间。

我如何处理任务? Webpack 一般适合编译服务器端脚本吗?如果不是,那么我还能如何处理服务器端渲染?

我的 .ts 文件正在处理 ts-loader:

{
   test: /\.ts$/,
   use: 'ts-loader',
},

更新: 我按照另一个问题中的建议添加了 target: 'node' 但总的来说还不够。 window 的错误消失了,但现在我无法将我的 export 与我的 require;

联系起来

我的文件如下所示:

export function someFunc(x) {
    // Some code
}

我希望我能做到

const something = require('somefile');

并从 sonething 中获取我的 someFunc。但这不起作用。代替 something 我得到一个看起来像这样的奇怪对象:

{ ids: [ 0 ],
  modules: 
   [ [Function],
     [Function],
     [Function],
     [Function] ]
}

好的,我有两个问题。一个已经回答了,我不得不将 Webpack 的 target 设置为 node。 现在我找到了第二个问题。这是 CommonsChunkPlugin。此插件与 taget: 'node' 不兼容。我不得不为服务器端删除它。