Tag: path

获取从哪个node.js执行的目录

我有一些项目,我运行它与node main.js / make test等。我需要的是从脚本获取此目录。 不仅来自main.js ,还来自任何子模块。 我尝试使用path插件和__directory ,但我得到当前文件的path(例如子模块)。 我也尝试require('path').dirname(require.main.filename) ,但是当我运行make test我得到摩卡dirname而不是我的项目目录。 什么是解决这个最简单的方法?

Windows下的Node.js中的非规范化path分隔符

在Windows中,Node.js的path模块生成所有带有反斜杠的path。 当其他函数(如resolve() )被调用时,它似乎会调用自己的normalize()函数。 有没有一种方法去正常化的path(正斜杠),没有明确的replace遍地? 我试过设置path.sep = '/' ,但是resolve()仍然会产生\\path。

如何在本地通过Node.js提供静态文件?

我有以下文件位置: file:///Users/MyName/Developer/sitename/scripts (contains all .js files..) file:///Users/MyName/Developer/sitename/css (contains all .css files..) file:///Users/MyName/Developer/sitename/images (contains all .jpg/png/etc. files..) file:///Users/MyName/Developer/sitename/sitename.html file:///Users/MyName/Developer/sitename/server.js 里面sitename.html我加载所有必要的文件如下例如: <html> <head> <script src="scripts/somefile.js"></script> </head> … </html> 所以,每当我打开file:///Users/MyName/Developer/sitename/sitename.html一切工作正常。 但是,每当我尝试通过我已经安装的本地Node.js服务器(服务器文件位置: file:///Users/MyName/Developer/sitename/server.js加载file:///Users/MyName/Developer/sitename/sitename.html file:///Users/MyName/Developer/sitename/server.js )如下: var http = require("http"); var fs = require("fs"); fs.readFile('./sitename.html', function (err, html) { if (err) throw err; http.createServer(function (request,response) { // serve site if […]

nodeJS require.paths解决问题

我正试图要求一个相对而且神秘的文件,下面正在发生 这适用于/Users/marcos/Desktop/Taper/lib/utils.js myPath = "/Users/marcos/Desktop/Taper/lib/./utils"; require(myPath); 这不,但它应该指向完全相同的文件: require.paths.unshift("/Users/marcos/Desktop/Taper/lib") require("./utils"); //Doesn't work with './' require("utils"); //Works Fine 任何人都知道为什么我不能使用./在这种情况下加载path require("path").resolve("/Users/marcos/Desktop/Taper/lib", "./utils") 结果是: "/Users/marcos/Desktop/Taper/lib/utils" 无论如何? 提前致谢

npm:从项目文件夹内的任何地方的package.json运行脚本

我正在使用package.json文件中的scripts部分来存储一些我必须定期运行的命令。 "scripts": { "test": "./test/phantomjs ./test/js/run_jasmine_test.coffee ./test/index.html", "rjs": "r.js -o ./js/app.build.js", "less": "lessc -x ./css/app.less > ./css/app.css" } 在每个命令中,我在path的开头都有一个./ ,这就是为什么我只能从项目的根目录调用npm run-script rjs 。 有没有办法在package.json中引用项目的根目录,以便我可以在我的项目中的任何地方运行npm test ?

exec-maven-plugin说无法运行指定的程序,即使它在PATH上

编辑20140716 : find解决scheme tl; dr = exec-maven-plugin 不能识别.cmd文件,而只能识别.bat文件,作为可执行脚本。 重命名grunt.cmd –> grunt.bat , bower.cmd –> bower.bat等作为解决方法。 在我的系统上完成npm install -g grunt-cli , grunt肯定是在PATH 当我运行maven install但是,这似乎并没有注册。 [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (build-spa-bower) on project foobar: Command execution failed. Cannot run program "grunt" (in directory "C:\workspace\foobar\src\main\spa"): CreateProcess error=2, The system cannot find the file specified -> [Help 1] […]

文件path并删除nodejs中的文件

我想删除list_file_to_delete 3个文件,但是我不知道“这里有三个文件path”的path是什么? 我需要for循环/ for / for for函数来删除所有或只需要一个string与3path可能var string = "…a1.jpg, …a2.jpg,…a3.jpg" ? 提前致谢 在delete.js文件中 var list_file_to_delete = ["/images/a1.jpg", "/images/a2.jpg", "/images/a3.jpg"] fs.unlink(path to three files here, function(err) {console.log("success")}) 这是myapp目录 myapp /app /js delete.js /public /images a1.jpg a2.jpg a3.jpg server.js

我如何修复path,以查找node.js中子文件夹内的视图

我想创build一个本地主机的路由:端口/pipe理/和我想保持routes.js文件和view.js文件在匹配的文件夹,所以我不会有太多spaggeti以后 但我一直得到:500错误:无法查找视图“/pipe理/ manage_subjects”试图创build一个新的路线和使用相同的文件夹几乎一样 我有快递以下查看文件夹 mainapp(root) routes(folder) admin(folder) index.js(nested inside admin) index.js(nested inside routes) views(folder) admin(folder) admin_layout.jade(nested inside admin) manage_subjects.jade(nested inside admin) index.jade(nested inside views) layout.jade(nested inside views) 代码:routes / admin / index.js exports.index = function (req, res) { res.render('manage_subjects',{title:'Express'});} 意见/pipe理/ manage_subjects.jade extends admin_layout block content h1 = title p Welcome to #{title} 我的app.js代码 /** * […]

如何获得在nodejs中运行脚本的文件的当前path

所以我有节点模块可以要求国际化。 我试图获取在节点模块中运行我的节点模块的文件的当前path。 使用案例#1: 里面~/yourProject/node_modules/i18n.js var current_path_to_locales_dir = path.join(__dirname, "locale"); 而服务器的path是: ~/YourUserName/yourProject/app.js 做var i18n = require("i18n"); 并试图得到它将返回的path /User/YourUserName/yourProject/node_modules/locale 这是正确的,但我期待它寻找 /User/YourUserName/yourProject/locale 用例2: 里面~/i18nProject/i18n.js var current_path_to_locales_dir = path.join(__dirname, "locale"); 如果我在~/i18nProject/sample有一个示例应用程序,并且正在执行var i18n = require("../i18n"); 这次的locale目录将会是 /User/YourUserName/i18nProject/locale 再次,上述是正确的,但我希望它是 /User/i18nProject/sample/locale/ 现在我想知道是否有一种方法可以获取当前正在运行的脚本的path?

upstart node.js工作目录

使用Upstart启动Node.js,当尝试访问Node.js中的文件时,如果不使用完整path,则无法访问它们。 我需要它来使用工作目录。 start on startup stop on shutdown script echo $$ > /var/run/mynodeapp.pid exec sudo -u mynodeapp node server.js >> /var/log/mynodeapp.sys.log 2>&1 end script pre-start script echo "Starting" >> /var/log/mynodeapp.sys.log end script pre-stop script rm /var/run/mynodeapp.pid echo "Stopping" >> /var/log/mynodeapp.sys.log end script