gpt4 book ai didi

javascript - meteor js 如何将文件从服务器写入磁盘

转载 作者:搜寻专家 更新时间:2023-10-31 22:56:27 24 4
gpt4 key购买 nike

我正在编写一个 meteor 包“myPackage”,它需要使用 Npm 文件系统和 Pah 模块将文件写入磁盘。该文件应该在 example-app/packages/myPackage/auto_generated/myFile.js 中结束,其中 example-app 项目添加了 myPackage。

fs = Npm.require( 'fs' ) ;
path = Npm.require( 'path' ) ;

Meteor.methods( {
autoGenerate : function( script ) {
var myPath = '/Users/martinfox/tmp/auto-generated' ;
var filePath = path.join(myPath, 'myFile.js' ) ;
console.log( filePath ) ; // shows /Uses/martinfox/tmp/auto-generated/myFile.js
var buffer = new Buffer( script ) ;
fs.writeFileSync( filePath, buffer ) ;
},
} );

当我运行上面的代码时(仅限服务器端)我得到了

Exception while invoking method 'autoGenerate' Error: ENOENT, 
no such file or directory '/Uses/martinfox/tmp/auto-generated/myFile.js'

注意/Uses/martinfox/tmp/auto-generated 文件夹确实存在

  1. 知道哪里出了问题吗?
  2. 能否获取 meteor 项目目录的绝对路径?

最佳答案

要获取项目的路径,您可以这样做:来自存储在应用程序根目录中的 main.js

var fs = Npm.require('fs');
__ROOT_APP_PATH__ = fs.realpathSync('.');
console.log(__ROOT_APP_PATH__);

您还可以检查您的文件夹是否存在:

if (!fs.existsSync(myPath)) {
throw new Error(myPath + " does not exists");
}

希望对你有帮助

关于javascript - meteor js 如何将文件从服务器写入磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20313406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com