1.1.0 • Published 6 years ago

@plume/config v1.1.0

Weekly downloads
9
License
MIT
Repository
github
Last release
6 years ago

config

plume 的全局配置文件,影响@plume/app @plume/lib @plume/core

Usage

config 是名为plume.config.js的文件,需要module.exports输出 config 配置对象,不可使用 es6 导出语法。

config 还可以是名为plume.config.json的 json 文件 由于加入了 webpack 选项,所以只能使用.js 文件。

config 文件放置在项目根目录,可以在 cli 内部配置--config选项。

nametypedesc
modestring项目模式 app | lib 默认为 app
pathsobject各种目录的配置对象
optionsobject通用的配置选项

mode

项目的模式,app|lib二选一,影响打包和开发。默认为app

paths

nametypedefaultdesc
rootstringprocess.cwd()项目根目录
srcstring{root}/src开发目录
pagesstring{src}/pages页面目录
plumestring{root}/.plumeplume 目录
outputstring{root}/dist打包输出目录
assetsstring{dist}/assets静态资源目录
componentsstring{src}/components组件目录。在 app 模式下,作为静态组件的目录
containersstring{src}/containers包装组件目录

options

options 根据mode的不同,分别又不同的选项

common

mode 为applib都会有的选项

nametypedefaultdesc
portnumber8080开发模式下,webpack-dev-server 或 docz 服务器端口号
assetsExtstring[]"jpg", "gif", "png", "ttf", "woff", "eot", "svg", "otf"静态资源后缀
entrynull | function | object |string[]null配置入口文件,当没有配置时,app 模式下使用{plume}/index.jsx 作为默认入口;lib 模式下使用{src}/index.js 和{src}目录下每个文件夹内的 index.jsx 文件作为默认入口
externalsnull | String | Array | Object | Regxnull配置外部依赖,当 app 模式时同 webpack 的 externals 配置,当 lib 模式时同 rollup 的 external
cssModestringcsscss 模式,影响打包时候对 css 的处理 可选值:css | sass | less | styled-components
cssModulesbooleanfalse是否启用 cssModules,影响打包时对 css 的处理 可选值:true | false

entry: Function

当 entry 为 function 时,函数签名为:

(plume_config:object) => null|object|string[]|string

plume_config 为 plume 的配置选项

app

当 mode 为app时,options 内可以有的选项

nametypedefaultdesc
targetstringroot目标 element 的 ID
dllbooleantrue是否启用 dll 拆分
dllNamestring"vendor"拆分的 dll 文件名
dllVendorstring[]"react", "react-dom", "react-router-dom", "react-loadable"拆分成 dll 的模块名称数组
hashRouterbooleanfalse使用 hashRouter,默认为 browserRouter
flowbooleanfalse是否使用 @plume/flow
webpacknull | functionnull自定义 webpack 配置
gzipbooleantrue是否启用 gzip 压缩
proxynull | string| object | functionnull同 webpack-dev-server 的 proxy,使用 proxy 时,默认开启允许跨域
analyzerbooleanfalse打包完成后显示项目所有包的体积和内容,不包括 dllVendor
webpack
nametypedefaultsignaturedesc
webpacknull | functionnullnull | (webpack_config: object, plume_config: object) => object当 webpack 是函数的时候,接受当前的 webpack 配置和 plume 配置,输出新的 webpack 配置

自定义的 webpack 配置的优先级最高

参数:

  • webpack_config: 为当前 webpack 的配置对象
  • plume_config: plume 配置对象

返回:

  • 返回新的 webpack 配置对象
proxy

当使用 proxy 代理的时候,可以使用string | object | function的形式

使用object | function的规则遵循 webpack 的 devServer.proxy 的配置规则

使用string时,将自动配置为{ "*": CUSTOM_HOST }的 object 形式

lib

当 mode 为lib时,options 内可以有的选项

nametypedefaultdesc
namestringPlumeLibumd 打包时需要的 lib name
modulesstring[]"esm", "cjs", "umd"打包的模式
docDiststringdoc输出文档的目录
webpacknull | functionnull自定义 webpack 配置
webpack
nametypedefaultsignaturedesc
webpacknull | functionnullnull | (webpack_config: object, plume_config: object) => object当 webpack 是函数的时候,接受当前的 webpack 配置和 plume 配置,输出新的 webpack 配置

参数:

  • webpack_config: 为当前 webpack 的配置对象
  • plume_config: plume 配置对象

返回:

  • 返回新的 webpack 配置对象
1.1.0

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago