Tag: 文件夹

节点js通过HTTP下载文件夹

我有一个小问题来下载节点js中的文件夹。 我的问题是,我通过http请求整个文件夹,我得到一个stream,但这个stream包含文件夹和文件。 我find的所有解决scheme(如fs.createWriteStream)只适用于简单文件而不是整个文件结构。 下面的示例请求我有: curl -X POST -H "content-type:application/json" -d '{"swaggerUrl":"http://petstore.swagger.io/v2/swagger.json"}' http://generator.swagger.io/api/gen/servers/nodejs 这个请求得到一个JSON的下载链接(如: http : //generator.swagger.io : 80/api/gen/ download/ 1445674072116 ) 如果我点击链接,没有问题立即下载开始下载包含一个文件夹和一个文件。 但是,如果我尝试这个: let path = __dirname + '/../api/clients/typescript/'; request(body.link).pipe(fs.createWriteStream(path)) 我得到以下错误: Error: EISDIR: illegal operation on a directory, open 我想我错了。 知道任何人的解决scheme或有一点提示,通过http下载整个文件结构,并将此结构保存到本地文件系统? Thnaks 🙂

Node.js,要求文件夹中的所有模块直接使用加载的模块

在MyModule文件夹中,我有这两个JS文件。 SayHello.js module.exports.SayHello = function() { return('Hello !'); } SayByeBye.js module.exports.SayByeBye = function() { return('Bye Bye!'); } 在Node.js中,我想要求MyModule文件夹中的所有文件,并直接调用SayHello & SayByeBye函数: require(./MyModule) console.log(SayHello()); console.log(SayByeBye()); 编辑: 用@ Yanick Rochon的回答,我这样做: > ./app/my-module/index.js global.SayHello = require('./my-module/SayHello').SayHello; global.SayByeBye = require('./my-module/SayByeBye').SayByeBye; > ./app/my-module/say-hello.js module.exports.SayHello = function() { return('Hello !'); }; > ./app/my-module/say-byebye.js module.exports.SayByeBye = function() { return('Bye Bye !'); }; > […]

检查文件夹是否是带有节点的包

我有一个节点脚本,通过将文件放在具有文件扩展名的文件夹中作为文件夹名称来组织文件,所以所有的CSS文件进入“css”文件夹,PSD进入“psd”文件夹等。它也通过所有的子文件夹,但我想限制它进入Mac OS软件包文件夹(如果你右键点击它,可以select“显示软件包内容”)。 我不能依靠文档types,因为它们可能是不同的:到目前为止,我已经看到了“数字”和“应用程序”。 有任何想法吗? 这里是我用来循环目录的function。 不幸的是,当我做fs.statSync(name).isDirectory()时,包评估为true: function getFiles(dir, files_) { files_ = files_ || []; var files = fs.readdirSync(dir); for (var i= 0, len = files.length; i<len; i++){ var name = dir + '/' + files[i]; if (fs.statSync(name).isDirectory()){ // AND NOT A PACKAGE getFiles(name, files_); } else { var extension = path.extname(name); // get rid […]

如何将项目的父文件夹中的node_modules设置为angular度cli

我想使用一个像模板一样的Angular框架,并使用它来制作大量内容,但是为此,需要在父级中使用node_modules,否则每创build一个内容,我都要安装node_modules。 有没有办法做到这一点? 因为如果我使用命令ng服务器,angular度cli根据“angular度/核心”

监听文件夹和文件(更改)

可以直接在PHP或Node上监听文件夹和文件的改变(通过事件),或者我需要自己的方法来做到这一点? 例如 :我需要听文件夹/user 。 如果我在这个目录中添加一些文件,PHP或者Node会收到这个信息,并运行PathEvent::fileAdded("/user/user.profile") 。 如果我重命名一个文件夹,它将运行PathEvent::pathRenamed("/user/save1", "/user/save2") 。 我知道PHP没有像Node这样的事件系统。 但是对于PHP,例如,我可以运行一个方法(我目前不知道)是否有自上次检查以来发生的更改。 那么…我只需要一种方法来开始search,我不知道这个search的术语到底是什么。 如果你能给我一个例子,那也会很棒! :P

我如何使用FS自动创build一个文件夹?

我试图用代码来读取一个数组,并使用名称作为参数之一,如果该名称不存在创build文件夹。 我一直在用fs来做一个简单的循环,像这样 var streamsRepository = streamsRepositoryFactory(__dirname + '/streams.json'); var obj = streamsRepository.streams[i]; var i; for(i = 0; i < streamsRepository.streams.length; i++) { var obj = streamsRepository.streams[i]; console.log('Folder '+obj.key+' is Created'); if (!fs.existsSync('../audio/'+obj.key)){ fs.mkdirSync('../audio/'+obj.key); } } 但每次我都收到这个消息。 Folder AAAA is Created fs.js:796 return binding.mkdir(pathModule._makeLong(path), ^ Error: ENOENT: no such file or directory, mkdir '../audio/AAAA'

服务器端和胖客户端Web应用程序的文件夹结构

目前我使用的Node.js的后端和extjs或主干客户端,我现在完全困惑的文件夹结构。 使用express我的文件夹结构如下 appname |–controllers |–models | |–appmodel.js |–public | |–css | |–js // any client-side javascripts |–routes | |–router.js |–views | |–appview.ejs |–app.js 其中app.js是入口点,它使用router.js来处理视图的路由和呈现。 如果只是服务器端开发,这工作得很好。 现在,如果我想为客户端使用ExtJS或Backbone,应该如何组织我的代码? 我应该将其添加到公用文件夹或views ? appname |–controllers | |–extbasedcontroller.js // correct location? |–models | |–appmodel.js | |–extbasedmodels.js // correct location? |–public | |–css | |–js | | |–extjs // extjs files |–routes […]

如何检查path是绝对的还是相对的

UNIX绝对path以'/'开始,而Windows则以字母'C:'或'\'开头。 node.js有一个标准的多平台function来检查path是绝对的还是相对的?