通过Webpack捆绑自定义节点模块

问题描述

我正在尝试使用webpack捆绑lambda层,但是我尝试过的一切都失败了。 Webpack捆绑了它,但是当我部署它时,它给出了一个错误并且无法使用。 :/

注意:当我打包所有内容而不使用webpack时,它可以正常工作,所以只想弄清楚webpack的功能以及如何修复它。

目录结构:

src/
- libs
-- foo.js
-- bar.js
- index.js
package.json
webpack.config.js

webpack.config.js

const path = require('path');

module.exports = {
  entry: './src/index.js',mode: 'production',output: {
    filename: 'index.js',path: path.resolve(__dirname,'dist/nodejs/node_modules/my-module'),library: 'my-module',// tried with and without this option
    libraryTarget: 'commonjs' // i've tried several values here
  },target: 'node'
};

src / index.js

const libFoo = require('./libs/foo');
const libBar = require('./libs/bar');

const foo = (options) => {
  return libFoo.getSomething(options);
};

const bar = (options) => {
  return libBar.getSomething(options);
};

exports.foo = foo;
exports.bar = bar;

src / libs / foo.js(src / libs / bar.js做类似的事情)

const thirdPartyLib = require('thirdPartyLib');

const getSomething = (options) => {
  ...getting something and save result...

  return result;
};

exports.getSomething = getSomething;

当我尝试将其导入到lambda时,我将执行以下操作:

const myModule = require('my-module');

它返回:

TypeError: Cannot read property 'event' of undefined

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)