最近在做脚本文件生成的时候发现没有找到plist文件的支持变量的模板生成,找到的都是将字符串写入生成plsit文件的插件,但使用上没有
html-webpack-plugin
优雅需求二次封装,所以就顺手写了一个方便使用
快速安装
执行以下代码安装插件
npm install plist-from-template
使用
- 在
webpack.config.js
文件中引入并配置
const PlistFactoryPlugin = require('plist-from-template');
new PlistFactoryPlugin({
// 必须
output: { // 输出地址配置
filename: "test", // 文件名
path: './xyz'// 文件路径,是相对于工程的路径,文件夹不存在时会自动创建
},
template: './manifest_temp.plist', // 模板文件地址,也是相对于工程目录
// 以下为变量配置
key: 'myKey', // 变量及值
value: 'myValue' // 变量及值
})
vue项目的配置地址是build下的webpack.base.config.js
中,当然主要是看你项目插件调用(plugins:[]
)位置
- 模板变量的使用
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<dict>
<key>$key$</key>
<string>$value$</string>
</dict>
</dict>
</plist>
使用$变量名$
的形式作为模板文件中的变量
- 生成效果
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<dict>
<key>myKey</key>
<string>myValue</string>
</dict>
</dict>
</plist>