0


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

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

安装webpack webpack-cli

pnpmadd 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-webkitweb编译为类浏览器环境里可用 (默认)webworker编译成一个 WebWorkeresX编译为指定版本的 ECMAScript。例如,es5,es2020browserslist从 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"]
}

下载依赖

pnpmadd babel @babel/preset-env webpack-node-externals -D

修改package.json

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

直接起飞

pnpm build
标签: webpack 前端 node.js

本文转载自: https://blog.csdn.net/liangzhenmeng/article/details/140629881
版权归原作者 凉菜凉凉 所有, 如有侵权,请联系我们删除。

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

还没有评论