Javascript 仅在生产中动态导入文件以产生副作用

Javascript 仅在生产中动态导入文件以产生副作用,javascript,node.js,webpack,aws-lambda,Javascript,Node.js,Webpack,Aws Lambda,我正在尝试将Chromium部署到具有无服务器的Lambda 我使用的是chrome aws lambda库,它希望压缩的可执行文件位于: node_模块/chrome aws lambda/bin 因此,在我的Web包配置中,我测试.br文件并保留它们的相对路径 module: { rules: [ ... { test: /\.br$/, use: [{ loader: 'file-loader', option

我正在尝试将Chromium部署到具有无服务器的Lambda

我使用的是
chrome aws lambda
库,它希望压缩的可执行文件位于:

node_模块/chrome aws lambda/bin

因此,在我的Web包配置中,我测试
.br
文件并保留它们的相对路径

module: {
    rules: [
        ...
        {
          test: /\.br$/,
          use: [{ loader: 'file-loader', options: { name: '[path][name].[ext]' } }],
        },
    ],
},
在顶部的PDF服务中,我导入了可执行文件,以防它们被Webpack获取

导入'chrome-aws-lambda/bin/aws.tar.br';
进口“chrome aws lambda/bin/chromium.br”;
输入'chrome aws lambda/bin/swiftshader.tar.br';
当部署到Lambda时,这将正常工作。问题是本地的,Webpack无法加载压缩文件:

[
  'C:\\Users\\dev_machine\\client\\project\\node_modules\\chrome-aws-lambda\\bin\\aws.tar.br:1',
  '��MA�A|���]!iC��B�kf\u001c��T@જ�h�\u0001E��r�&�:⛻�\u0014���~�F��G����\u0013����/�\u0014c;\u0016!.\u000eTP %i�u�f��~5�\b`ߝ~%<������He��\t\u0013S�D#�f���FQė�������������������������⌂���m�⌂�s���9�ީ\f��\u0014fh"��\u0014�b��',
  '',
  '',
  'SyntaxError: Invalid or unexpected token',
  'at wrapSafe (internal/modules/cjs/loader.js:1053:16)',
  'at Module._compile (internal/modules/cjs/loader.js:1101:27)',
  'at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)',
  'at Module.load (internal/modules/cjs/loader.js:985:32)',
  'at Function.Module._load (internal/modules/cjs/loader.js:878:14)',
  'at Module.require (internal/modules/cjs/loader.js:1025:19)',
  'at require (internal/modules/cjs/helpers.js:72:18)',
  'at Object.chrome-aws-lambda/bin/aws.tar.br (C:\\Users\\dev_machine\\client\\project\\.webpack\\service\\webpack:\\external "chrome-aws-lambda\\bin\\aws.tar.br":1:1)',
  'at __webpack_require__ (C:\\Users\\dev_machine\\client\\project\\.webpack\\service\\webpack:\\webpack\\bootstrap:19:1)'   
]
可能是因为它不是js/typescript文件


如何在本地正确加载文件或仅在本地开发之外导入文件?

有一种仅用于开发的配置阻止了第一种方法的工作

删除此行并修复它:


module.exports.externals=[require('webpack-node-externals')()

如果您认为自己找到了解决方案,则不应将其编辑到问题中。一般来说,你应该通过提问来澄清问题,但不要在问题中包含答案。您应该使用用于解决问题的代码/解决方案创建自己的答案,然后接受它(系统可能需要48小时的延迟)。当你自己解决了这个问题。
if (process.env.NODE_ENV !== 'local') {
    import('chrome-aws-lambda/bin/aws.tar.br');
    import('chrome-aws-lambda/bin/chromium.br');
    import('chrome-aws-lambda/bin/swiftshader.tar.br');
}
Cannot find module 'chrome-aws-lambda/bin/aws.tar.br' or its corresponding type declarations