Tag: path

清洗package.json“主要”用于require

我想保持相对path,并始终使用前导目录。 比方说,我有一个stringhello 。 在你的package.main中引用./hello.js hello是完全有效的。 但是,如果你打了hello并要求它,它会寻找hello node_module而不是文件。 我怎样才能用./使用path前缀hello ? 问题是package.json main可以有这些有效的选项。 我不是说这些都指向相同的文件。 我在说hello.js和hello不能直接放在require 。 ../hello.js ./hello.js hello.js ../hello ./hello hello 我怎样才能清理所有这些path,以便他们能够处理require? path.join摆脱主导path,所以这是行不通的。 另一方面, path.resolve确实可以清除所有这些用于require的path,但是它使得它成为绝对path。 预期的行为: ../hello.js – >相同 ./hello.js – >相同 hello.js – > ./hello.js ../hello – >相同 ./hello – >相同 hello – > ./hello 我应该创build一个正则expression式来看看path吗? 我如何确保它能够跨平台工作? var pkg = require('./package.json') // var mainPackage = […]

路由页面错误代码时出错:错误:ENOENT,stat'/public/index.html'使用节点

我用这个代码: var express = require("express"); var path = require("path"); var app = express(); app.use(express.static(path.join(__dirname, 'public'))); app.use("/",function(req,res){ res.sendfile('/public/index.html'); //res.send("test"); }), app.listen(5401) 当我在浏览器上inputurl时,它工作正常。 如图所示。 但在terminal,我总是得到EN错误:ENOENT,stat'/public/index.html'我不知道我的错误是什么,我在客户端使用emberjs

NodeJS模块安装程序不设置PATHvariables

出于某种原因,在我当前和以前的电脑上,在NodeJS中安装模块不会创buildPATHvariables(使用Windows 7/10)。 我设法通过手动编辑我的PATHvariables来获得模块的工作,但是如果NodeJS可以为我做这件事,这将是“酷”。 我刚刚下载并安装了NodeJS和Weinre。 npm被添加到pathvariables,Weinre没有。 (几个星期前,Ionic也发生过同样的事情,所以卸载后再试一次)。 我以pipe理员身份运行命令行提示符。 另一件令我困惑的事情,可能是问题的原因是以下几点。 我已经安装了NodeJS: C:\Program Files\nodejs" 但是运行“npm -g ls”给了我下面的结果: C:\>npm -g ls C:\Program Files\IBM\RAD9.1\cordova_cli └─┬ weinre@2.0.0-pre-I0Z7U9OV ├─┬ express@2.5.11 │ ├─┬ connect@1.9.2 │ │ └── formidable@1.0.17 │ ├── mime@1.2.4 │ ├── mkdirp@0.3.0 │ └── qs@0.4.2 ├─┬ nopt@3.0.4 │ └── abbrev@1.0.7 └── underscore@1.7.0 我安装了IBM Rational Application Developer,好像NodeJS引用这个安装文件夹… 🙁

不能用Git Bash运行mongo / mongod,但运行在Git CMD(mongo:not found)

所以今天我试图在计算机上使用MongoDB,但从一开始就遇到麻烦。 在我的机器上安装了mongo之后,它试图在Git Bash中运行“mongod”和“mongo”,但没有运气。 我得到的错误是“mongod:not found”/“mongo:not found”。 现在我在这里看到一些答案,人们build议将我机器上的环境variablesPATH改为mongod / mongo完整path的path。 但问题是,在我的机器上,这个variables已经设置为我的npm(C:\ Users \ Me \ AppData \ Roaming \ npm)的path。 会改变pathvariables帮助我在这里或将会导致npm的问题? 谢谢!

包装电子后在错误的地方创build目录

电子版本:0.37.5 操作系统:Ubuntu 15.10 我用电子打包机打包了我的项目。 通常,我在我的main.js文件所在的应用程序目录中创build一个名为downloads的目录。 打包后,我有locales和resources目录以及其他文件,内部resources目录中有另一个命名的app ,还有electron.asar文件。 在app文件夹里面有我的项目文件。 当我运行可执行文件时,它会在相同的位置创build目录,而不是在/resources/app/下创build它。 我该如何解决这个问题? 我的createDirectories函数: // create directory if it does not exist function createDirectory(directory, callback) { Fs.mkdirs(directory, function (err) { if (err) { console.error(err); } else { return callback(); } }) } 例如,我给downloads/images/作为参数给这个函数。 Fs.mkdirs是fs-extra模块的一种方法。 我的目录参数是downloads/images/和downloads/videos/

Express服务器不能从Index.html提供静态文件

这个问题已经被我多次问过,但是我已经search了一切,而且还是行不通。 我是Node的新手。 我的文件目录是这样设置的: io -node_modules/ -app/ –css –js -index.html -server.js Server.js: var express = require('express'); var app = express(); //app.use(express.static(__dirname+'/app/css')); app.use('/css', express.static(__dirname+'/app/css')); var server=require('http').createServer(app); var io=require('socket.io').listen(server); users=[]; connections=[]; //set up server server.listen(process.env.PORT || 3001); console.log('Server running…'); //create a route app.get('/',function(req,res){ res.sendFile(__dirname+'/app/index.html'); }); 的index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <!– Always force latest IE […]

当打包的Electron App在MacOS上运行时,path.resolve(“”)返回根目录(“/”)

我创build了Electron应用程序并将其与电子打包器一起打包。 然后,我在MacOS(XXX.app)上运行打包的应用程序,并且发现path.resolve(“”)返回根目录“/”。 当我在Windows / Linux上运行这个应用程序时,path.resolve()返回应用程序文件所在的目录。 (例如:/ home / nutti / XXX) 所以,我不明白这个行为,我想知道如何在MacOS中获得应用程序目录。 谢谢。

node.js fs.existsSync始终为false

我在这个path上有一个文件: ~/Downloads/flightlog_2017-71-19_19747.txt 但是,当我尝试写或检查它是否存在: fs.existsSync('~/Downloads/flightlog_2017-71-19_19747.txt') 它总是返回false 如果我在terminal做: $ nano ~/Downloads/flightlog_2017-71-19_19747.txt 这工作正常

使用Node.js将Url / Path转换为Json

我最近build立了一个小节点程序,能够以一个精确的pathconsole.log所有的文件。 我从这个函数得到的结果如下所示: /Volumes/TimeCapsule/movies/movie1 movie1.mp4 /Volumes/TimeCapsule/movies/movie2 movie2.mp4 /Volumes/TimeCapsule/movies/movie3 movie3.mp4 现在我的问题是:我怎么能设法将每个path转换为JSON,所以我可以例如显示在一个HTML页面的电影文件夹的所有文件? 我想有这样的事情: { "Volumes": { "TimeCapsule": { "Movies":{ "Title": "Movie1" "Title": "Movie2" "Title": "Movie3" } } } } 先谢谢你。 顺便说一句,这里是我的散步function: var fs = require('fs'); var walk = function (currentPath) { console.log(currentPath); var files = fs.readdirSync(currentPath); //Returns array of filename in currenpath for (var i in files) { […]

在Cygwin上构buildnode.js的问题,请大家帮忙

我想让node.js在Windows 7上运行。我没有使用Linux的经验,所以我只是盲目地遵循我find的教程的指示,但是我仍然无法构buildnode.js. 我做了什么: 安装Cygwin – 整个 尝试构buildnode.js 这是我第一次得到的错误: 然后我跟着其他两个类似的网站的命令,他们都导致了这个错误(可以得到几个版本的节点已经导致我更多的问题?我完全无能为力)。 我在某处读到Windows版本的Python可能会导致问题,所以我卸载了我的Python 2.7,并将C:\ cygwin \ bin添加到PATH中。 这仍然不起作用,我读了其他地方,我应该rebaseall所以我尝试了,但我也有一个错误: 那就是我现在所在的地方。 我采取了哪些措施加剧了这种情况?