簡體   English   中英

Nodejs對目錄的非法操作

[英]Nodejs illegal operation on a directory

我正在嘗試使用markdown-pdf NPM軟件包將markdown文件的文件夾編譯為單個PDF。

我有一個簡單的腳本來完成這項工作:

var mpdf = require('markdown-pdf');
var fs = require('fs');

var mDocs = fs.readdirSync('./understandinges6/manuscript/');
mDocs = mDocs.map(function(d) { return 'understandinges6/manuscript/' + d });

var Book = 'understandinges6.pdf';

mpdf().concat.from(mDocs).to(Book, function() {
    console.log("Created", Book);
});

但是當我執行腳本時,會出現此錯誤:

events.js:154
      throw er; // Unhandled 'error' event
      ^

Error: EISDIR: illegal operation on a directory, read
    at Error (native)

這很奇怪,因為我位於具有相應權限的主文件夾中。 我在腳本中指定輸出文件夾/文件,然后使用fs.readdirSync讀取。

有什么想法嗎?

mDocs = mDocs.map(function(d) { return 'understandinges6/manuscript/' + d }); 您忘記添加“ ./”。 重寫為mDocs = mDocs.map(function(d) { return './understandinges6/manuscript/' + d });

很酷,我在這里遇到問題:

manuscripts/文件夾中是帶有一些png的images/子文件夾。 當腳本嘗試將images/.md轉換為.pdf.md了錯誤。

這是圖像/內部的數組:

[ 'understandinges6/manuscript/00-Introduction.md',
  'understandinges6/manuscript/01-Block-Bindings.md',
  'understandinges6/manuscript/02-Strings-and-Regular-Expressions.md',
  'understandinges6/manuscript/03-Functions.md',
  'understandinges6/manuscript/04-Objects.md',
  'understandinges6/manuscript/05-Destructuring.md',
  'understandinges6/manuscript/06-Symbols.md',
  'understandinges6/manuscript/07-Sets-And-Maps.md',
  'understandinges6/manuscript/08-Iterators-And-Generators.md',
  'understandinges6/manuscript/09-Classes.md',
  'understandinges6/manuscript/10-Arrays.md',
  'understandinges6/manuscript/11-Promises.md',
  'understandinges6/manuscript/12-Proxies-and-Reflection.md',
  'understandinges6/manuscript/13-Modules.md',
  'understandinges6/manuscript/A-Other-Changes.md',
  'understandinges6/manuscript/B-ECMAScript-7.md',
  'understandinges6/manuscript/Book.txt',
  'understandinges6/manuscript/images' ]

解? 只需pop() mDocs數組(現在只是docs ):

var mpdf = require('markdown-pdf');
var fs = require('fs');

var mDocs = fs.readdirSync('understandinges6/manuscript/');
var docs = mDocs.map(function(d) { return 'understandinges6/manuscript/' + d });

docs.pop();

var Book = 'understandinges6.pdf';

mpdf().concat.from(docs).to(Book, function() {
    console.log("Created", Book);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM