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

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

安装webpack webpack-cli

bash 复制代码
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配置文件

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

gson 复制代码
{
  "preset":["@babel/preset-env"]
}

下载依赖

bash 复制代码
pnpm add babel @babel/preset-env webpack-node-externals -D

修改package.json

json 复制代码
...
"scripts": {
  ...
  "build": "webpack --mode production"
}
...

直接起飞

bash 复制代码
pnpm build
相关推荐
Sarvartha9 分钟前
三目运算符
linux·服务器·前端
晓晨的博客16 分钟前
ROS1录制的bag包转换为ROS2格式
前端·chrome
Wect24 分钟前
LeetCode 72. 编辑距离:动态规划经典题解
前端·算法·typescript
donecoding37 分钟前
别再让 pnpm 跟着 nvm 跑了!独立安装终极指南
前端·node.js·前端工程化
GISer_Jing39 分钟前
AI全栈转型_TS后端学习路线
前端·人工智能·后端·学习
竹林81839 分钟前
被The Graph的GraphQL查询坑了三天,我用一个真实DeFi项目把链上数据索引彻底搞懂了
前端·graphql
漫游的渔夫39 分钟前
前端开发者做 Agent:别只会执行,用 4 类失败策略让 AI 知道怎么停
前端·人工智能·typescript
用户0595401744642 分钟前
把多级缓存一致性验证从手工测试换成 Pytest 参数化,Bug 排查时间缩短 90%
前端·css
暗不需求44 分钟前
深入理解 LangChain:AI 应用开发框架的工程化实践
前端·langchain
用户059540174461 小时前
把 Redis 持久化测试从 800 行 Shell 换成 30 行 pytest,排错效率翻了 10 倍
前端·css