我有一个处理公证的辅助模块。
我只想在构建mac应用程序时执行它。
我的package.json是这样的。
"scripts": {
"build:mac": "node .electron-vue/build.js && electron-builder --mac",
"build:win": "node .electron-vue/build.js && electron-builder --win --x64 --ia32",
},
"build": {
"mac": {
"hardenedRuntime": true,
"entitlements": "./notarlization/entitlement.plist",
"entitlementsInherit": "./notarlization/entitlement.plist"
},
"afterSign": "./notarlization/after-sign.js"
}我的辅助模块是这样的。
module.exports = async () => {
if (process.platform === 'darwin') {
console.log(`公証通過申請中...`)
try {
await notarize({
appBundleId,
appPath,
appleId,
appleIdPassword,
ascProvider
})
console.log('公証通過完了')
} catch (error) {
console.log('公証通過失敗: ', error)
}
}
}实际上,它很好用。
因为我在macOS中构建mac应用程序,在WinOS中获得应用程序。
但我认为if (process.platform === 'darwin') {}不是很酷。
我想在package.json上做这样的事情。
有人知道怎么做吗?
发布于 2020-01-09 20:14:39
发布于 2020-04-20 13:22:59
function getBuilderFlags () {
// https://www.electron.build/cli
const winFlags = ['--win', '-w', '--windows']
const macFlags = ['--mac', '-m', '-o', '--macos']
const cmd = process.argv
console.log('Checking cmd arguments:', cmd)
const result = {}
result.isWinOn = cmd.some(flag => winFlags.includes(flag))
result.isMacOn = cmd.some(flag => macFlags.includes(flag))
return result
}
exports.default = async function (context) {
console.log(' start: After Sign Hook')
const flags = getBuilderFlags()
if (flags.isWinOn) {
console.log('processing windows...')
}
if (flags.isMacOn) {
console.log('processing mac...')
}
console.log('finish: After Sign Hook')
}https://stackoverflow.com/questions/59641524
复制相似问题