我正在用express创建一个节点API,它将使用puppeteer为给定的URL创建一个PDF。如何将应用程序与Webpack捆绑在一起进行生产?我不想在全局安装puppeteer并在要托管它的服务器中表示,也不想在服务器上调用npm install
。我希望puppeteer和express与js文件一起出现。我该如何实现?
答案 0 :(得分:0)
如果有人好奇我该如何解决-我将webpack与以下配置配合使用:
import webpack from 'webpack';
import path from 'path';
import nodeExternals from 'webpack-node-externals';
const config: webpack.Configuration = {
mode: "production",
entry: "./src/server.ts",
target: "node",
output: {
path: path.resolve(__dirname, 'dist'),
filename: "main.js"
},
resolve: {
extensions: [".ts", ".js"],
},
devtool: "source-map",
module: {
rules: [
{
test: /\.ts$/,
exclude: /node_modules/,
use: {
loader: "ts-loader",
options: {
transpileOnly: true
}
}
}
],
},
externals: nodeExternals()
}
export default config;
在Continuous Integration服务器中,我运行以下命令:
npm install
webpack
npm ci
这里的窍门是npm ci
(自npm v6起),它从node_modules
中删除了devDependencies。之后,我将node_modules
连同已转译的js
文件一起放入部署包中