您的位置:首页 > 财经 > 金融 > node后端项目使用webpack打包教程,target: “node“

node后端项目使用webpack打包教程,target: “node“

2025/2/25 23:33:35 来源:https://blog.csdn.net/liangzhenmeng/article/details/140629881  浏览:    关键词:node后端项目使用webpack打包教程,target: “node“

node后端项目使用webpack打包教程

安装webpack webpack-cli

pnpm add webpack webpack-cli -D

webpack 能够为多种环境 或 target构建编辑。想要理解什么是target的详细信息。
taget string [string] false
告知 webpack 为目标(target)指定一个环境。默认值为 browserslist,如果没有找到 browserslist 的配置,则默认为 web

选项描述
async-node编译为类 Node.js 环境可用(使用 fs 和 vm 异步加载分块)
electron-main编译为 Electron 主进程。
electron-renderer编译为 Electron 渲染进程,
使用 JsonpTemplatePlugin,FunctionModulePlugin 来为浏览器环境提供目标,使用 NodeTargetPlugin 和 ExternalsPlugin
为 CommonJS 和 Electron 内置模块提供目标。
electron-preload编译为 Electron 渲染进程,
使用 NodeTemplatePlugin 且 asyncChunkLoading 设置为 true ,FunctionModulePlugin 来为浏览器提供目标,使用 NodeTargetPlugin 和 ExternalsPlugin 为 CommonJS 和 Electron 内置模块提供目标。
node编译为类 Node.js 环境可用(使用 Node.js require 加载 chunks)
node-webkit编译为 Webkit 可用,并且使用 jsonp 去加载分块。支持 Node.js 内置模块和 nw.gui
导入(实验性质)
nwjs[[X].Y]等价于 node-webkit
web编译为类浏览器环境里可用 (默认)
webworker编译成一个 WebWorker
esX编译为指定版本的 ECMAScript。例如,es5,es2020
browserslist从 browserslist-config 中推断出平台和 ES 特性 (如果 browserslist 可用,其值则为默认)

创建webpack.conf.js配置文件

const path = require(path)
const nodeExternals = require("webpack-node-externals")module.exports = {target: "node",entry: "./src/index.js",ouptput: {path: path.resolve(__dirname, "dist")},externals: [nodeExternals()],module: {rules: [{test: /\.js$/,exclude: /node_modules/,use: {loader: 'babel-loader',options: {presets: ['@babel/preset-env']}}}]}
}

创建.babelrc

{"preset":["@babel/preset-env"]
}

下载依赖

pnpm add babel @babel/preset-env webpack-node-externals -D

修改package.json

...
"scripts": {..."build": "webpack --mode production"
}
...

直接起飞

pnpm build

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com