Webpack SSR Node.js module.export不会导出任何内容

时间:2019-06-20 08:26:24

标签: node.js webpack ssr

我正在尝试将react ssr集成到现有的nodejs express应用程序中。我仍然不希望将整个应用程序打包到webpack,我试图仅提供一条路径来呈现React代码。

src / index.js

export const ssrHandler = (req, res) => {
    // some react code here.
}

webpack.config

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'server-bundle.js',
    publicPath: '/dist/'
  },
  target: 'node',
  externals: [nodeExternals()],
  module: {
    rules: [
      // all rules here.
    ]
  },
};

我正在使用以下命令webpack --config webpack/server.config.js

进行构建

我正在尝试在另一个如下的nodejs表达代码中导入捆绑文件

api / server.js

// nodejs code here

const ssr = require('../dist/server-bundle');
app.use('/path', ssr.ssrHandler);

但是无论我尝试过什么配置,ssr始终是空对象'{}',有没有办法使bundle导出功能,我检查了生成的代码,生成的中没有module.export文件。

先谢谢了。请指出其他类似的问题(如果有的话),我真的很讨厌搜索这个类似的问题。

1 个答案:

答案 0 :(得分:1)

我认为还需要进行更多https://www.geeksforgeeks.org/dynamic-programming/的配置才能完成此工作:

  output: {
    filename: 'server-bundle.js',
    publicPath: '/dist/',
    libraryTarget: 'commonjs2',
    libraryExport: 'default'
  },

还有:

const ssrHandler = (req, res) => {

};

export default ssrHandler;

我希望我能提供更多的见解-但这只是output的结果