[webpack]webpack中常用的node字段
在用webpack配置项目中,常会用到一些nodejs字段,包括一些函数,全局变量等,最常用的大概有以下几个:
1、module.exports
模块
是node中重要的概念,在node中,通过CommonJS
规范定义模块。module
对象是“对表示当前模块的对象的引用(node文档中的描述)”,简单理解为指向当前模块就行了;module.exports
是module
对象的一个属性,可以将期望导出的对象赋值给它。
module.exports
主要用在各种配置文件中,比如webpack.config.js
,用来导出配置。
2、require(id)
参数id
是一个表示模块名称或路径的字符串。require
用于引入模块、JSON或本地文件。
可以从node_modules
目录引入模块。
可以使用相对路径(例如./、./foo、./bar/baz、../foo)引入本地模块或JSON文件,路径会根据__dirname
定义的目录名或当前工作目录进行处理。
3、__dirname
__dirname
是一个全局变量,表示当前模块所在的目录名。
4、Path
path
模块用来处理文件路径和目录路径。使用时,需要先引用path
模块:
const path = require('path');
path
提供了很多方法,如path.join
,使用时随时查阅文档就行了。
5、process.env
process
是node进程相关的全局对象,process.env
属性返回包含用户环境的对象,它是可以修改的。通常,通过不同的配置文件,或者cross-env
+package.json
的script
字段,设置不同的process.env.NODE_ENV
,然后,就能在配置文件中,通过判断process.env.NODE_ENV
,为不同的环境指定不同的编译方式了。具体方法,请下载一个成熟的webpack项目,参考其配置,或者搜索相关文章。