学习文章: juejin.cn/post/708310…
总结:【这个代码值得再复习,量少真棒!!!】 反思: 代码量不大,但是看起来也是很辛苦啊= = 只看明白了examples,还没有把整个代码框架弄顺。要学的的还有很多,rollup没学好,吃亏了……
- 下次遇到promise 的return规则可以再努力记一下。
// to.js
export default function to(promise) {
return promise.then(data => {
return [null, data];
})
.catch(err => [err]);
}
- 之前看了一点点shell还是有用的,这次看代码不懵逼了,o(╥﹏╥)o 但还是没搞透。node中的readFileSync太有用了,哪里都要用它。package.json的解析就靠它了。果然代码不用特意记忆,多看多想,慢慢也就记住了。 边看边找重点,常见的都是重点啊!!!
const { cd, exec, echo, touch } = require("shelljs")
const { readFileSync } = require("fs")
const url = require("url")
let repoUrl
let pkg = JSON.parse(readFileSync("package.json") as any)
if (typeof pkg.repository === "object") {
if (!pkg.repository.hasOwnProperty("url")) {
throw new Error("URL does not exist in repository section")
}
repoUrl = pkg.repository.url
} else {
repoUrl = pkg.repository
}
let parsedUrl = url.parse(repoUrl)
let repository = (parsedUrl.host || "") + (parsedUrl.path || "")
let ghToken = process.env.GH_TOKEN
echo("Deploying docs!!!")
cd("dist/docs")
touch(".nojekyll")
exec("git init")
exec("git add .")
exec('git config user.name "Dima Grossman"')
exec('git config user.email "dima@grossman.io"')
exec('git commit -m "docs(docs): update gh-pages"')
exec(
`git push --force --quiet "https://${ghToken}@${repository}" master:gh-pages`
)
echo("Docs deployed!!")