【问题标题】:Can't writeFile to the dist folder using Promise, catch and gulp无法使用 Promise、catch 和 gulp 将文件写入 dist 文件夹
【发布时间】:2020-03-20 16:19:37
【问题描述】:

我将 index.html 文件映射到 scrape 标记内容并保存为名为 fonts.css 的文件

这是我的风格:

<style>@font-face{font-family:Averti;src:url(https://services.serving-sys.com/HostingServices/custdev/site-140253/Averti/Averti-Bold.woff) format('truetype');font-weight:700;font-style:normal}@font-face{font-family:Averti-Light;src:url(https://services.serving-sys.com/HostingServices/custdev/site-140253/Averti_Webfonts/Averti-Light.woff) format('truetype');font-weight:400;font-style:normal}</style>

该功能没有重大错误,但 console.log 向我显示 { [错误:ENOENT:没有这样的文件或目录,打开'./dist/css/fonts.css'] 错误号:-2, 代码:'ENOENT', 系统调用:'打开', 路径:'./dist/css/fonts.css' }

我不确定这是否正确,因为文件还没有创建。

在下面查看我的功能,让我知道我缺少什么。

提前谢谢你。

async function createStyle(){

var jsonObject = [] 

setTimeout(function(){  

fs.readFile('./dist/index.html', 'utf8',  function(err, html){
    if (!err){
        const $ = cheerio.load(html)
        var cssScript = $('head > style').map(( i, x ) => x.children[0])
                                         .filter(( i, x ) => x && x.data.match(/@font-face/)).get(0);
        jsonObject.push(cssScript)
        exportStyle(jsonObject)
    }
})}, 2000); 

async function exportStyle(_json) {

const stylePromise = new Promise(function(resolve, reject) {

    fs.writeFile('./dist/css/fonts.css', _json, err => {
        if (err) {
            reject();
        } else {                                
            resolve();
            console.log('Created: fonts.css');                                                     
        }            
        console.log(err);                             
        });
});
       (async function() {
           try {
                await stylePromise;
         } catch(err) {
                console.log(err);
         }
})();}}

【问题讨论】:

  • 如果您的代码在预期和缩进匹配的地方正确分成单独的行,会更容易提供帮助。
  • ./dist/css 存在吗?
  • ./dist/css 不存在,因为它是一个 gulp 任务,假设在运行 gulp 时创建它。
  • 缩进不正确,因为在编辑器中放置代码时,从代码区出来了
  • index.html 存在于 dist 文件夹中

标签: javascript node.js gulp


【解决方案1】:

我在 ./dist 文件夹中创建了 css 和 js 文件夹,代码运行起来就像一个魅力。除此之外,错误信息会出现在控制台中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 2015-05-17
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多