То, что я хочу сделать, это заменить doczrc.js
базовое значение с abc на имя, которое я получаю от .git/config
.Поэтому мне не нужно вручную менять базу в doczrc.(Для тех, кто разветвляет репо, они должны сами изменить его, и у него возникнут проблемы с передачей и пиаром родительского репо.) Поэтому мне нужно написать скрипт для изменения имени для построения страницы.
Я хочу прочитать владельца репо из '.git / config'.
...
[remote "origin"]
url = git@github.test.result/test.git
fetch = +refs/heads/*:refs/remotes/origin/*
...
У меня есть другой файл, который используется для создания страницы документации github.Файл конфигурации экспортирует объект.
export default {
...
base: `/pages/abc/test`
...
}
Я использовал readfilesync
, но мне не разрешено использовать readfilesync
.Затем я попытался readfile
, это асинхронно, и я использую обещание.Однако я не могу получить ценность от обещания.Из онлайн-учебника это все console.log.Но мне нужно получить точное значение и вернуться к другому файлу для использования.
Я пробовал способ ниже, изменил экспорт по умолчанию на объект и заменил базу.Тем не менее, он по-прежнему экспортирует abc вместо значения, которое я хочу.Есть ли способ, которым я могу решить эту проблему?
// script.js
const remote = 'origin'
const file = '.git/config'
function readConfig() {
return new Promise((resolve, reject) => {
const regex = /:(\S+)\//gm
try {
fs.readFile(configFile, (err, data) => {
if (err) {
console.log(err.stack)
}
let result = regex.exec(data.toString())
resolve(result[1])
})
}
catch (err) {
console.log(err)
reject(err)
}
})
}
// readConfig could get the value I want. This value is what I want to send to script.js, which is to replace t
readConfig().then(x => console.log(x))
ghPages.publish('.gh-pages', { remote }, err => {
if (err) {
console.error(error .')
console.error(err)
} else {
console.info('success')
}
})
module.exports = {
readConfig,
}
// script.js
// I tried to change script.js in this way instead of just call the function
`/pages/{readConfig()}/test`
import { readConfig } from './doczrc'
const exportObj = {
base: `/pages/abc/test`
}
readConfig().then(res => {
exportObj.base = '/pages/' + res + '/test/'
})
export default exportObj
Я хочу экспортировать '/ pages /' + (значение, которое я прочитал из конфигурации) + / test /
команда run
npm run docs:build && node script.js
, которая doczrc.js является файлом конфигурации для сборки doc.script.js - это скрипт, который я использую для обновления значения в базе script.js.и опубликуйте страницу github.
измените имя файла на более значимое.doczrc.js (оригинал - a.js) script.js (оригинал - b.js)
Или есть другой способ решить мою проблему.