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

ops/2024/10/18 5:49:21/

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

webpack_webpackcli_2">安装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 可用,其值则为默认)

webpackconfjs_30">创建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

http://www.ppmy.cn/ops/84781.html

相关文章

SEO与数据中心代理IP的结合能带来哪些便利?

本文将探讨将SEO与数据中心代理IP结合所带来的好处,以及如何利用这种组合来提升网站在搜索引擎中的排名和可见性。 1. 数据中心代理IP的作用和优势 数据中心代理IP指的是由数据中心提供的IP地址,用于隐藏真实服务器的位置和身份。与其他类型的代理IP相…

Winform上位机TCP客户端/服务端、串口通信

Winform上位机TCP客户端/服务端、串口通信 背景 日常练习,着急换工作,心态都快乱了。 工具 串口调试助手 网络调试助手 代码 客户端 using Microsoft.VisualBasic.Logging; using System.Net.Sockets; using System.Text;namespace TcpClientDem…

Arraylist与LinkedList的区别

Arraylist 概念 Arraylist非线程安全Arraylist 底层使用的是Object数组ArrayList 采用数组存储,插入和删除元素的时间复杂度受元素位置的影响ArrayList 支持快速随机访问,就是通过元素的序号快速获取元素对象ArrayList的空间浪费主要体现在列表的结尾会预留一定的容…

springSecurity学习之springSecurity web如何取得用户信息

web如何取得用户信息 之前说过SecurityContextHolder默认使用的是ThreadLocal来进行存储的,而且每次都会清除,但是web每次请求都会验证用户权限,这是如何做到的呢? 这是通过SecurityContextPersistenceFilter来实现的&#xff0…

MySQL中,除了使用LIKE进行模糊搜索外,还有其他几种方法可以执行搜索操作

在PHP和MySQL中,除了使用LIKE进行模糊搜索外,还有其他几种方法可以执行搜索操作,具体使用哪种方法取决于你的具体需求(如性能、精确度、查询的复杂性等)。以下是一些常用的搜索方法: REGEXP 或 RLIKE&…

二阶段测试:

二阶段测试: 架构: 服务器类型部署组件ip地址DR1调度服务器 主(ha01)KeepalivedLVS-DR192.168.60.30DR2调度服务器 备 (ha02)KeepalivedLVS-DR192.168.60.40web1节点服务器 (slave01)NginxTomcatMySQL 备MHA managerMHA node192.…

后端返回列表中包含图片id,如何将列表中的图片id转化成url

问题描述 如果我有一个列表数据,列表中每个对象都包含一个图片id,现在我需要将列表中的图片id转化成图片,然后再页面上显示出来 如果你有一个列表数据,列表中每个对象都包含一个图片 ID,并且你想将这些图片 ID 转化为…

ffmpeg把pcm封装为wav

note 1.wav格式中,音频数据未经过压缩,直接封装即可 2.对于编码器的选择,应选择和pcm裸数据一致的编码器(本次实际不须编码) version #define LIBSWRESAMPLE_VERSION_MAJOR 2 #define LIBSWRESAMPLE_VERSION_MINOR 9 #define LIBSWRESAM…