Tom*_*ica 4 amazon-web-services node.js npm webpack babeljs
我需要打包一个用 webpack 编写的模块并用 babel 进行转译。但是我不想打包任何东西node_modules。另外,Node.js 核心模块不应打包。
我收到核心模块的这些错误:
ERROR in ./node_modules/tunnel-agent/index.js
Module not found: Error: Can't resolve 'net' in '...project path...\node_modules\tunnel-agent'
@ ./node_modules/tunnel-agent/index.js 3:10-24
@ ./node_modules/request/lib/tunnel.js
@ ./node_modules/request/request.js
@ ./node_modules/request/index.js
Run Code Online (Sandbox Code Playgroud)
很明显,webpack 正在抓取节点模块,这是我不想要的。它还显然尝试加载诸如net和 之类的模块fs等模块。
如何阻止这种情况,并且只打包和转译我自己的代码?
我的配置:
const path = require('path');
module.exports = {
entry: './serverless_function.js',
output: {
path: path.resolve('dist'),
filename: 'serverless_packed.js'
},
module: {
loaders: [
{ test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/ },
{ test: /\.jsx$/, loader: 'babel-loader', exclude: /node_modules/ }
]
}
}
Run Code Online (Sandbox Code Playgroud)
我需要打包我的无服务器函数,以便与在 Amazon AWS 上运行的 Node.js 6 兼容。它看起来像这样:
const Library = require("./MyLibrary");
const fs = require("fs");
async function serverlessFunction(event, context, callback) {
const response = {
statusCode: 200,
headers: {
"Content-Type": "image/png",
"Content-Disposition": "inline; filename=\"something.png\""
},
body: await Library.createImage().asBase64String("param1", "param2"),
isBase64Encoded: true
};
return callback(null, response);
}
module.exports = { serverlessFunction };
Run Code Online (Sandbox Code Playgroud)
您可以使用该模块webpack-node-externals来完成此操作:
const path = require('path');
const nodeExternals = require('webpack-node-externals');
module.exports = {
entry: './serverless_function.js',
output: {
path: path.resolve('dist'),
filename: 'serverless_packed.js'
},
// in order to ignore built-in modules like path, fs,
target: 'node',
// in order to ignore all modules in node_modules folder
externals: [nodeExternals()],
module: {
loaders: [
{ test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/ },
{ test: /\.jsx$/, loader: 'babel-loader', exclude: /node_modules/ }
]
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4510 次 |
| 最近记录: |