相关疑难解决方法(0)

JavaScript中有"! - "做什么?

我有这段代码(取自这个问题):

var walk = function(dir, done) {
    var results = [];

    fs.readdir(dir, function(err, list) {
        if (err)
            return done(err);

        var pending = list.length;

        if (!pending) 
            return done(null, results);

        list.forEach(function(file) {
            file = path.resolve(dir, file);
            fs.stat(file, function(err, stat) {
                if (stat && stat.isDirectory()) {
                    walk(file, function(err, res) {
                        results = results.concat(res);

                        if (!--pending)
                            done(null, results);
                    });
                } else {
                    results.push(file);

                    if (!--pending) 
                        done(null, results);
                }
            });
        });
    });
};
Run Code Online (Sandbox Code Playgroud)

我正在努力遵循它,我想我理解除了接近结尾的所有内容!--pending.在这种情况下,该命令的作用是什么?

编辑:我感谢所有进一步的评论,但这个问题已被多次回答.不管怎么说,还是要谢谢你!

javascript not-operator decrement prefix-operator

376
推荐指数
10
解决办法
5万
查看次数

使用Node.js将文件系统中的目录结构转换为JSON

我有这样的文件结构:

root
|_ fruits
|___ apple
|______images
|________ apple001.jpg
|________ apple002.jpg
|_ animals
|___ cat
|______images
|________ cat001.jpg
|________ cat002.jpg
Run Code Online (Sandbox Code Playgroud)

我想,使用Javascript和Node.js,监听这个根目录和所有子目录,并创建一个镜像这个目录结构的JSON,每个节点包含类型,名称,路径和子节点:

data = [
  {
    type: "folder",
    name: "animals",
    path: "/animals",
    children: [
      {
        type: "folder",
        name: "cat",
        path: "/animals/cat",
        children: [
          {
            type: "folder",
            name: "images",
            path: "/animals/cat/images",
            children: [
              {
                type: "file",
                name: "cat001.jpg",
                path: "/animals/cat/images/cat001.jpg"
              }, {
                type: "file",
                name: "cat001.jpg",
                path: "/animals/cat/images/cat002.jpg"
              }
            ]
          }
        ]
      }
    ]
  }
];
Run Code Online (Sandbox Code Playgroud)

这是一个coffeescript JSON:

data = 
[
  type: …
Run Code Online (Sandbox Code Playgroud)

javascript filesystems node.js d3.js

57
推荐指数
3
解决办法
6万
查看次数

如何创建一个列出所有文件/目录的简单index.html文件?

我们使用不允许目录列表的Web服务器.

有一个特定的目录我想允许列出.

如何制作一个包含此目录内容的简单HTML文件?

html webserver

30
推荐指数
5
解决办法
12万
查看次数

Gulp - 定位文件夹及其子文件夹中的所有文件

我希望能够增加watch在任务gulp到所有的js中的文件frontend/js和低于任何其他js文件

 gulp.watch('./frontend/js/**/*.js', ['browserify']);
Run Code Online (Sandbox Code Playgroud)

这只会将js文件定位到一个文件夹深处

javascript gulp

28
推荐指数
2
解决办法
4万
查看次数

使用节点js中的AWS sdk将整个目录树上载到S3

我目前使用如下方式将单个对象上传到S3:

var options = {
        Bucket: bucket,
        Key: s3Path,
        Body: body,
        ACL: s3FilePermissions
};

S3.putObject(options,
function (err, data) {
    //console.log(data);
});
Run Code Online (Sandbox Code Playgroud)

但是当我有一个大型资源文件夹时,我使用AWS CLI工具.
我想知道,是否有一种原生方式与aws sdk做同样的事情(将整个文件夹上传到s3)?

javascript amazon-s3 amazon-web-services node.js aws-sdk

16
推荐指数
5
解决办法
2万
查看次数

是否存在用于在node-gyp中列出源的通配符机制

我正在binding.gyp为我的新node.js模块编写文件.我将所有源文件都放在src/子目录下.我想在构建模块时使用所有这些.我不是每次添加新的cpp文件时都修改binding.gyp,而是希望通过一些通配符机制列出所有cpp文件.node-gyp支持吗?像跟随的东西(这是行不通的

{
  'targets' : [
      {
          'target_name' : 'mymod',
          'sources' : 'src/*.cpp'
      }
   ]
}
Run Code Online (Sandbox Code Playgroud)

我查看了https://code.google.com/p/gyp/wiki/InputFormatReference,但没有找到任何有用的内容.

node-gyp

11
推荐指数
1
解决办法
2324
查看次数

在目录NodejS中递归获取所有文件

我的功能有点问题.我想在许多目录中获取所有文件.目前,我可以检索传入参数的文件中的文件.我想检索作为参数传递的文件夹中每个文件夹的html文件.我将解释如果我输入参数"test"我检索"test"中的文件,但我想检索"test/1/*.html","test/2 / ./ .html":

var srcpath2 = path.join('.', 'diapo', result);
function getDirectories(srcpath2) {
                return fs.readdirSync(srcpath2).filter(function (file) {
                    return fs.statSync(path.join(srcpath2, file)).isDirectory();
                });
            }
Run Code Online (Sandbox Code Playgroud)

结果:[1,2,3]

谢谢 !

getfiles fs node.js

11
推荐指数
8
解决办法
2万
查看次数

Pulumi(TypeScript、AWS):如何将多个文件上传到 S3,包括。静态网站托管目录中的嵌套文件

在 5 分钟内创建AWS S3 网站 YT 视频在 Amazon S3 Pulumi 上托管静态网站教程中,详细解释了如何使用 Pulumi 在 S3 上创建托管网站。

示例代码中使用了Pulumi的BucketBucketObject 。第一个创建 S3 存储桶,后者创建对象,这些对象主要用于index.html公共访问,如下所示:

const aws = require("@pulumi/aws");
const pulumi = require("@pulumi/pulumi");
const mime = require("mime");

// Create an S3 bucket
let siteBucket = new aws.s3.Bucket("s3-website-bucket");

let siteDir = "www"; // directory for content files

// For each file in the directory, create an S3 object stored in `siteBucket`
for (let item of require("fs").readdirSync(siteDir)) { …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services nuxt.js pulumi static-site-generation

6
推荐指数
1
解决办法
1435
查看次数

NodeJS 在目录中递归地哈希文件

我能够实现目录中的递归文件遍历(即探索目录中的所有子目录和文件)。为此,我使用了有关堆栈溢出的相应帖子的答案。其片段如下:

var fs = require("fs");

var tree = function(dir, done) {
  var results = {
        "path": dir,
        "children": []
      };
  fs.readdir(dir, function(err, list) {
    if (err) { return done(err); }
    var pending = list.length;
    if (!pending) { return done(null, results); }
    list.forEach(function(file) {
      fs.stat(dir + '/' + file, function(err, stat) {
        if (stat && stat.isDirectory()) {
          tree(dir + '/' + file, function(err, res) {
            results.children.push(res);
            if (!--pending){ done(null, results); }
          });
        } else {
          results.children.push({"path": dir + "/" …
Run Code Online (Sandbox Code Playgroud)

recursion hash integrity node.js

5
推荐指数
1
解决办法
4218
查看次数

在Node.js中使用fs.readFile()时出现"错误:确定"(在大约十万次迭代之后)?

我正在"走"十万个JSON文件,读取内容并在发生错误时抛出错误:

walk(__dirname + '/lastfm_test', 'json', function (err, files) {
    files.forEach(function (filePath) {
        fs.readFile(filePath, function (err, data) {
            if (err) throw err;
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

walk函数很大程度上受这个问题的启发(chjj答案).在一些迭代之后,该行if (err) throw err被执行.错误抛出是:

错误:好的,打开'path/to/somejsonfile.json'

有机会调查这里发生的事情吗?我敢肯定的是,walk功能是确定:其实更换呼叫fs.readFile()console.log(filePath)显示的路径.没有错误.

一些有用的信息:Windows 7 x64,node.exe x64 .0.10.5.Last.fm数据集从这里下载.

node.js

4
推荐指数
1
解决办法
1674
查看次数

无论路由如何,如何提供相同的静态文件?

我有一个反应应用程序。我使用 webpack 进行生产构建。现在我尝试设置一个小型 koa 服务器来为生产环境提供 webpack 生成的静态文件。

所以我这样做了

import Koa from 'koa'
import serve from 'koa-static'

const app = new Koa()

app.use(serve('dist/'))

app.listen(3001)
Run Code Online (Sandbox Code Playgroud)

dist/文件(index.html、bundle 等)所在的目录在哪里。这效果很好,但仅适用于路线“/”(localhost:3001 /)在我的应用程序中,我使用反应路由器,因此我需要以示例方式转到/登录(localhost:3001/login)。但当我尝试时,我得到“未找到”。对于 devServer(通过 webpack),这条路线效果很好。我只需要始终服务/dist,无论路线如何。如何做这个白相思木?

node.js reactjs koa webpack koa-router

4
推荐指数
1
解决办法
2044
查看次数

Node.js以递归方式列出文件的完整路径

各位晚安.我可能遇到一些简单的递归函数问题.问题是以递归方式列出给定文件夹中的所有文件.

目前,我已经设法使用一个简单的函数列出目录中的文件:

fs.readdirSync(copyFrom).forEach(file => {

    let fullPath = path.join(copyFrom, file);

    if (fs.lstatSync(fullPath).isDirectory()) {
      console.log(fullPath);
    } else {
      console.log(fullPath);
    }   });
Run Code Online (Sandbox Code Playgroud)

我尝试了各种各样的方法,do{} ... while()但我无法做到.
由于我是javascript的初学者,我终于决定向你们寻求帮助.

提前感谢您的宝贵帮助.

javascript filesystems recursion node.js electron

3
推荐指数
1
解决办法
3735
查看次数