我正在使用Express创建一个Node API,它将使用Puppeteer为给定的URL创建PDF。如何使用Webpack捆绑我的应用程序以进行生产?我不想在托管它的服务器上全局安装Puppeteer和Express,也不想在服务器上调用npm install
。我希望Puppeteer和Express与JS文件一起打包。我该怎么做?
我正在使用Express创建一个Node API,它将使用Puppeteer为给定的URL创建PDF。如何使用Webpack捆绑我的应用程序以进行生产?我不想在托管它的服务器上全局安装Puppeteer和Express,也不想在服务器上调用npm install
。我希望Puppeteer和Express与JS文件一起打包。我该怎么做?
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
文件一起打包到部署包中。