我正在创建一个带有 express 的节点 API,它将使用 puppeteer 为给定的 url 创建一个 PDF。如何将我的应用程序与 webpack 捆绑在一起进行生产?我不想在我将托管它的服务器中全局安装 puppeteer 和 express,我不想调用 npm install
在服务器上。我希望 puppeteer 和 express 与 js 文件一起出现。我怎样才能做到这一点?
最佳答案
如果有人好奇我是如何解决这个问题的 - 我使用 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;
在持续集成服务器中,我运行以下命令:
npm install
webpack
npm ci
这里的诀窍是
npm ci
(从 npm v6 开始)从 node_modules
中删除了 devDependencies .之后我包括 node_modules
到部署包连同转译 js
文件
关于typescript - 如何使用 webpack 捆绑 puppeteer 进行生产部署?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53540795/