All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
7.0.2 (2020-10-20)
- 修复静态资源替换导致的模版文件错乱的问题 (713b2b6)
7.0.1 (2020-10-16)
7.0.1-alpha.4 (2020-10-16)
7.0.1-alpha.3 (2020-10-16)
7.0.1-alpha.2 (2020-10-16)
- 修复开发环境中间件对[email protected]支持 (fcf1eff)
- 修复编译输出的模版文件中资源引用地址错误的问题 (c97e041)
- 兼容 [email protected] (da6161a)
- 开发环境兼容 [email protected] (8a463f0)
7.0.1-alpha.1 (2020-10-16)
- 兼容 [email protected] (72f970b)
- 格式化输出编译错误 (9d3c192)
7.0.1-alpha.0 (2020-10-15)
6.3.1 (2020-05-12)
- 修复 jenkins 编译完成后不退出的问题 (ac81d76)
6.3.0 (2020-04-10)
- 使用 webpack-bundle-analyzer 代替 webpack-visualizer-plugin (63c5ae8)
p.bundleAnalyzer.enabled = true; p.bundleAnalyzer.options = { // @see https://npmjs.com/package/webpack-bundle-analyzer };
6.2.0 (2020-04-09)
- 支持只编译部分页面,参数
partialCompile.enabled
和partialCompile.whitelist
(f8a9f2b)
6.1.5 (2020-03-12)
- 修复 entries 错误 (8696425)
6.1.4 (2020-03-12)
- 修复 entries 匹配无效的问题 (927f569)
6.1.3 (2020-03-12)
6.1.2 (2020-02-11)
6.1.1 (2020-02-11)
- 修复entry.settings.tsx导致页面出错的问题 (0b76b6f)
6.1.0 (2020-02-08)
- 增加 [email protected] (9387fa0)
6.0.0 (2019-10-30)
- 用 postcss stylelint 插件方式代替 stylelint-webpack-plugin (e30d6c5)
5.3.0 (2019-10-30)
- 升级 [email protected] (d8d8a7d)
- 升级依赖包 (629f853)
- 增加 typescript 支持 (266473d)
5.1.0 (2019-06-10)
- 升级所有依赖包到最新版本 (602c4ba)
- 增加了
stylelint
参数allowEmptyInput = true
,避免部分不使用样式文件(css/less/scss)的工程报错。(10ed562)
5.0.0 (2019-06-09)
css-loader@>1.0
内置不支持 css 压缩,需要引入postcss-nano
来做压缩- 删除
cssLoaderOptions.minimize. minifyFontValues = false
- CSS压缩功能失效,需要使用postcss-nano来压缩 (3f90f18),在
config/postcss.config.js
增加 nano 配置:plugins: { nano: process.env.NODE_ENV === 'local' ? false : {} }
- 修复 open 包存在的安全漏洞 (44026f0)
- css-loader@^2.1.1
4.0.5 (2019-06-09)
clean-webpack-plugin
从 3.0 起使用语法有变化,如果在工程中有修改config/webpack.serve.babel.js
和config/webpack.build.babel.js
请注意语法的变化。// < 3.0 import CleanWebpackPlugin from 'clean-webpack-plugin'; // >= 3.0 import { CleanWebpackPlugin } from 'clean-webpack-plugin';
- 升级依赖包
- clean-webpack-plugin@^3.0.0
- dotenv@^8.0.0
- import-fresh@^3.0.0
- mini-css-extract-plugin@^0.7.0
- open@^6.3.0
- url-loader@^2.0.0
- webpack-pwa-manifest@^4.0.0
4.0.4 (2019-01-22)
- 使用terser工具代替uglifyjs进行代码压缩 (9b0fe32)
4.0.3 (2018-12-12)
4.0.2 (2018-12-01)
- [ESLINT_LEGACY_OBJECT_REST_SPREAD] DeprecationWarning: The 'parserOptions.ecmaFeatures.experimentalObjectRestSpread' option is deprecated. Use 'parserOptions.ecmaVersion' instead. (d76db01)
4.0.1 (2018-12-01)(deprecate)
4.0.0 (2018-12-01)
- Upgrade to babel 7
Upgrade to babel 7 and update outdated packages.
Now you can use ES2018 grammar and experimental features of ECMAScript!
** 升级指南 **
- 执行
npm install --save packing@latest
更新4.0.0以上版本的packing依赖;- 执行
npx babel-upgrade --write --install
命令,将会自动更新babel相关依赖以及.babelrc
或babel.config.js
配置文件;- 执行
npm install --save-dev @babel/register
安装最新版babel-register;- 删除
.babelrc
或babel.config.js
配置文件中可能存在的的重复plugin;- 若自动更新生成的
.babelrc
或babel.config.js
配置文件中存在@babel/plugin-transform-runtime
这个plugin,删除这个plugin配置参数中的polyfill
属性。- 由于不再支持在runtime插件中配置polyfill,若需要使用polyfill,执行
@babel/polyfill
安装babel-polyfill,并在.babelrc
或babel.config.js
配置文件中的presets属性下的@babel/preset-env
配置参数中添加useBuiltIns: 'usage'
。若有core-js
相关错误,尝试安装最新版core-js
。 详情参考官网babel-polyfill介绍。
3.3.1 (2018-08-22)
3.3.0 (2018-08-22)
3.2.5 (2018-06-26)
3.2.4 (2018-05-16)
3.2.3 (2018-05-16)
3.2.2 (2018-05-15)
- 修复 es6 语法错误 (abd837b)
3.2.1 (2018-05-15)
- 当母模版名称和路由名称一样时,settings.js 中的master参数无效 (e96a795)
3.2.0 (2018-05-14)
- 增加配置参数有效性检查 (c05ee60)
3.1.0 (2018-05-10)
3.0.4 (2018-05-10)
- 修复 manifest.json 地址在编译机上错误的问题 (5375fbf)
3.0.3 (2018-05-10)
3.0.2 (2018-05-04)
3.0.0-beta.18 (2018-04-26)
3.0.0-beta.17 (2018-04-26)
- babel不编译隐藏文件 (c6df9e9)
- eslint: 检查 import 地址时区分大小写 (fee351a)
3.0.0 (2018-04-26)
3.0.0-beta.16 (2018-04-26)
3.0.0-beta.15 (2018-04-26)
3.0.0-beta.14 (2018-04-25)
- 兼容字符串类型 entry point (92fdd89)
3.0.0-beta.13 (2018-04-24)
3.0.0-beta.12 (2018-04-20)
3.0.0-beta.11 (2018-04-19)
- 修复开发环境下 script 闭合标签错误的问题 (f887d61)
3.0.0-beta.10 (2018-04-19)
3.0.0-beta.9 (2018-04-19)
3.0.0-beta.8 (2018-04-19)
- 修复当build结果存在 warning 就不自动弹出包体积分析报告网页 (cdb478c)
3.0.0-beta.7 (2018-04-19)
- 增加输出文件分析报表功能,借助报表能优化打包结果 (fa5d49e)
3.0.0-beta.6 (2018-04-18)
- 内置
postcss.config.js
配置文件 (c5450be)
3.0.0-beta.5 (2018-04-17)
3.0.0-beta.4 (2018-04-08)
- 修复 build 时删除 prd 目录不成功的问题 (61a2cbb)
- 可以用
packing.config.templateInjectManifest
向网页中插入 pwa manifest.json (c38ad91) - cli: 增加
-s, --skip_dll
参数用来跳过packing serve
时 dll 编译 (c6c173b) - stylelint: 增加
stylelint
功能,校验css
语法 (35cd0fe)。在packing.js
中增加了两个控制参数:stylelint
: 是否启用Stylelint
stylelintOptions
: stylelint参数,请参考 Stylelint官方文档
3.0.0-beta.3 (2018-04-02)
-
用
file-loader
代替url-loader
加载静态文件 -
使用
dotenv
加载process.env
环境变量 -
将
packing-template
合并到packing
工程,方便开发调试 -
调整
packing.path
结构path.dll
更名为path.tmpDll
- 删除
assetsDist
templatesDist
templatesPagesDist
- 删除
packing.path.assets
配置,如果希望直接import
path.assets
下的文件请使用webpack.resolve.alias
设置webpackConfig.resolve.alias = { assets: 'assets' };
- 分为
src
dist
两类,每种目录均使用root
的相对目录 - 简化
templates
目录设置- {string}:
- {object}
- layout:
- pages:
mockPageInit
更名为mockPages
-
path.templates
结构调整- 兼容字符串类型参数
- 允许传入包含
layout
pages
的对象参数
-
默认模版类型改为
pug
templateEngine
默认值由html
改为pug
templateExtension
默认值由.html
改为.pug
-
src/profiles
-->profiles
- 位置变化:该目录无需编译,移动到
src
目录外 - 格式变化:使用
key=value
的方式描述,每行一个配置
- 位置变化:该目录无需编译,移动到
-
编译输出目录由
prd/assets/
变更为prd/
3.0.0-beta.2 (2018-03-29)
- packing dll: 增加
packing dll
命令 (e78a7c3)
3.0.0-beta.1 (2018-03-27)
- 修复
packing@<=2.6.6
packing-urlrewrite
兼容问题
3.0.0-beta.0 (2018-03-26)
- 能根据
entry points
自动生成网页文件 - node@>=6.11.5
- 使用 webpack v4
- 升级到最新的依赖包
- 能根据
entry points
自动生成网页文件 - 增加
process.env.CONTEXT
,可以在运行时指定工程位置 - 将开发环境下的工程根目录设置为虚拟目录,取消assets虚拟目录
- 支持 https 请求转发 (fca12f2)
- config: 增加
templateInjectPosition
参数,用来控制生成网页时是否往html中注入 assets (03b4b16)
- 在 webpack-dev-middleware 编译后再启动 express 服务
- 补充了重要功能的测试用例
- 使用了多进程运行测试用例,确保各用例之间的环境变量不再相互干扰
- 使用
travis-ci
做为集成工具
- 当
.tmp/vendor
目录不存在时执行packing serve -c
不再报错 (464c613) - 修复
packing-urlrewrite
不能转发https://
请求的问题 - 修复了默认
profiles
中cdnRoot
路径错误
util/babel-register.js
使用的配置项写死在代码中,不再依赖工程根目录的.babelrc
,- 删除了默认配置中
webpack.DefinePlugin
插件,使用mode
参数代替 - 删除了默认配置中的
webpack-uncomment-block
replace-hash-webpack-plugin
,使用packing-template
代替
- 删除
packing lint
,请使用eslint
代替 - 删除代码覆盖率统计的依赖包
- 删除了
packing-profile-webpack-plugin
,使用场景太少 - 删除了
assets
虚拟目录,请看兼容性 -> 静态文件引用
部分
-
在模版中引用静态文件时,文件路径需要使用相对于工程根目录的相对路径。比如工程目录结构如下图所示,在
default.png
中引用1.png
的正确写法为:- v3 以前的写法是
img(src="1.png")
,可以忽略assets
这一级目录 - v3+ 需要把路径写完整,
img(src="assets/1.png")
. ├── /assets/ │ └── /1.png └── /templates/ ├── /layout/ └── /pages/ └── /default.pug
- v3 以前的写法是
-
webpack.optimize.UglifyJsPlugin
配置方式发生了变化,需要在下面的位置修改配置:{ optimization: { UglifyJs: { compress: { warnings: false, drop_debugger: true, drop_console: true }, comments: /^!/, sourceMap } } }
-
设置
packing/config/packing.js
中的templateInjectPosition: false
来关闭生成网页文件时自动注入 assets 的功能 -
如果使用
packing
自动生成的模版,需要修改 node 工程的 pug 代码,需要增加basedir
参数,值为模版的目录
new Pug({
viewPath: 'templates',
basedir: 'templates'
})
2.6.6 (2018-02-28)
2.6.5 (2018-02-11)
2.6.4 (2018-02-01)
- 关闭 cssnano minifyFontValues 功能 (14c0738)
2.6.3 (2018-01-29)
- 当packing.commonChunks为空时,不应该输出manifest.js (6c20f4c)
2.6.2 (2018-01-26)
- 当loader的options.name包含[path]时,hash替换有问题 (3666cda)
2.6.1 (2018-01-26)
2.6.0 (2017-12-12)
- 支持模拟 GraphQL 接口数据 (b307a5f)
2.5.2 (2017-12-06)
2.5.1 (2017-11-27)
2.5.0 (2017-10-13)
- uncomment specified code blocks in templates after build (13d1079)
2.4.0 (2017-10-11)
- 增加css-modules支持,通过packing.js配置 (3784300)
2.3.1 (2017-09-13)
- 增加向下兼容性 (8dafa6f)
2.3.0 (2017-08-09)
2.2.11 (2017-08-08)
- Remove DashboardPlugin from webpack.serve.babel.js (4444d53)
2.2.10 (2017-08-03)
2.2.9 (2017-08-03)
- fixed the formatError when packing build failed (5548135)
- Remove LoaderOptionsPlugin which only exists for migration. As a result, this fixs the problem that the file "postcss.config.js" dose not work. (b8f37f8)
2.2.7 (2017-06-14)
2.2.5 (2017-06-13)
2.2.4 (2017-06-13)
2.2.3 (2017-06-13)
2.2.2 (2017-06-13)
- 删除postcssrc中的parser选项 (bf6b6a1)
2.2.1 (2017-06-13)
- 将eslint放在实例工程中 (c45efdc)
2.2.0 (2017-06-12)
- Compatible yarn (4d7a458)
- Compatible yarn (c1e800a)
- Fix dependencies errors (849dcda)
- Fix DLL task bug (aed8d4b)
- Fix sytnax error (7d220e2)
- Fix win32 error when filename has colon (bce361a)
- Fixed formatError to for compatibility with webpack2 (9b5563e)
- Fixed library example path error (b2d0509)
- Upgrade eslint-plugin-jsx-a11y@4.0.0 (6d9ba39)
- 修复项目路径中包含packing时babel解析错误的bug (63db513)
- babelrc: Fix babel config syntax error (c00e85a)