2017-02-07 6 views
2

after_prepare를 실행할 노드 후크가있는 cordova 플러그인을 작성하고 있습니다.javascript 후크에서 cordova 패키지 이름 가져 오기

이것은 Android 전용입니다.

이 후크 내에서 코드가 패키지 이름을 가져와야하므로 src/com/example/myproject 폴더 (패키지가 com.example.myproject 인 경우)로 파일을 복사 할 수 있습니다.

패키지 이름을 알고있는 경우이 경로를 만들 수 있습니다. 지금은 하드 코드로 작업하고 있지만 두 개의 다른 패키지 이름으로 작업해야합니다.

플러그인 훅에서이 코드 내에서 패키지 이름을 가져 오는 방법이 있습니까?

module.exports = function(ctx){ 
    var fs = ctx.requireCordovaModule('fs'); 
    var path = ctx.requireCordovaModule('path'); 
    var deferral = ctx.requireCordovaModule('q').defer(); 

    //get package name here 

    //do other stuff 
} 

나는 많은 연구를 해왔지만 이것을 찾을 수 없었다.

감사합니다.

답변

2

컨텍스트 개체에서 사용할 수없는 것처럼 보이지만 config.xml을 구문 분석하려고 할 수 있습니다.

module.exports = function(context) { 
    var fs = require('fs'); 
    var path = require('path'); 
    var config_xml = path.join(context.opts.projectRoot, 'config.xml'); 
    var et = context.requireCordovaModule('elementtree'); 

    var data = fs.readFileSync(config_xml).toString(); 
    var etree = et.parse(data); 

    console.log(etree.getroot().attrib.id); 
}; 

local-webserver 플러그인은 구성 속성을 읽는 데 유사한 전략을 사용합니다.

+0

감사합니다. – Vero