2013-05-23 2 views
3

유성에 대한 패키지를 Atmosphere에 게시하고 패키지가 설치된 현재 디렉토리를 얻어야합니다. 내가 패키지에 포함 된 파일에 process.cwd() 시도했지만, 내 애플 리케이션의 현재 디렉토리를 가져옵니다. 패키지가 설치되어 제대로 작동하고있어 패키지가 앱과 동일한 프로세스에서 실행되고있는 것 같습니다. 따라서 process.cwd()이 현재 앱 디렉토리를 얻고 있습니다. 누구든지 패키지의 현재 디렉토리를 얻는 트릭을 알고 있습니까? 이 /home/dknell/meteor-apps/testApp유성 안에 현재 디렉토리를 얻는 방법 스마트 패키지

+0

가능 중복 된 [I는 유성 패키지에있는 파일의 경로를 얻는 방법은? (http://stackoverflow.com/questions/27435797/how-do-i-obtain-the-path-of-a-file-in-a-meteor-package) –

답변

0

당신의 유성 사용자 이름 포함, 콜론 (:)을 밑줄 (_)로 변경하십시오.

OS X 및 Linux에서 정상인 것처럼 보이는데 이는 Windows에서도 잘 작동합니다.

1

왜 당신이 현재 필요 표시

var cwd = process.cwd(); 
console.log(cwd); 

Package.on_use(function (api) { 
    api.use('sync-methods', 'server'); 
    api.add_files(["lib/api_server.js"], "server"); 
    api.add_files(["lib/api_client.js"], "client"); 
}); 

api_server.js을

package.js :

내가 패키지 파일에있는 것입니다 예배 규칙서? 패키지 안의 파일에 액세스하려면?

api.add_files(['file.txt'], 'server', {isAsset: true}); 

을 그리고 당신은 당신의 패키지에 Assets.getText('file.txt') 그것을 읽을 수 있습니다 : 다음 n 개의 패키지 자산으로 파일을 추가합니다. 당신이 내용을 싶지 않아하지만이 경우 다른 도구의 절대 경로, 당신은 >이 패키지의 이름을 입력 < author_smart-패키지 이름은

var path = Npm.require('path'); 
var base = path.resolve('.'); 
var assetsBase = path.join(base, '/assets/packages/<author_smart-package-name>'); 

을 시도 할 수 있지만, 경우

0

oops 이것은 패키지가 아닌 앱 내의 파일을위한 것입니다. 사람

나는 그래서 당신은 수동으로 경로를 "/ 자산/응용 프로그램"을 추가해야 할 파일
// files in /private get built to: 
//  .meteorlocal/build/programs/server/assets/app/ 
// base path resolves to: 
//  .meteor/local/build/programs/server 

의 목록을로드하기위한 디렉토리 경로에 액세스해야

에 어쨌든 어쩌면 도움이.

유성이 어느 시점에서 변경 될 때까지 당신이 변화하는 내용의 디렉토리가있는 경우

그냥 파일의 내용에 점점이 ... 도움이되지 않습니다의

관련 문제