2016-11-16 3 views
2

Я пытаюсь интегрировать Android Deeplink с HTTP-сервером в node.js. На самом деле, если я создаю конечную точку с помощью экспресс-сервера, напримерКак реализовать Android Deeplink без экспресс-сервера в node.js

app.get('/deeplink', deeplink({  
    fallback: 'https://na.nor.com', 
    android_package_name: 'com.na.nor' 
})); 

он будет работать нормально. Но на самом деле мне нужно интегрироваться с обычным HTTP-сервером.

+0

Это немного расплывчато. Не могли бы вы добавить некоторые подробности о том, какой результат вы хотите достичь, в идеале с примерами использования? –

+0

На самом деле мне нужно пройти deeplink ({ fallback: 'https://na.nor.com', android_package_name: 'com.na.nor' ​​ }) как обратный вызов метода обработчика запросов HTTP-сервера. –

ответ

2

Да, я выполнил свою работу, чтобы работать с конечной точкой HTTP. Не нужно использовать глубокую ссылку, а не только модифицированную библиотеку глубоких ссылок для использования с промежуточным продуктом HTTP. Проводка следующего кода, надеюсь, что это поможет кому-то. Спасибо

 var file = fs.createReadStream(path.join(__dirname, '/public/index.html')); 
     var options={ 
      fallback: config.deeplink_fallback, 
      android_package_name:config.deeplink_package_name 
     };  
     var detoken = new stream.Transform({ objectMode: true }); 
     detoken._transform = function (chunk, encoding, done) { 
      var data = chunk.toString() 
      Object.keys(options).forEach(function (key) { 
       data = data.replace('{{' + key + '}}', options[key]) 
      }); 
      this.push(data); 
      done();  
     } 
     var inline = inliner({ basedir: path.join(__dirname, '/public') }); 
     res.statusCode=200; 
     res.setHeader('Content-Type', 'text/html; charset=utf-8'); 
     var newdt=file.pipe(detoken).pipe(inline); 
     newdt.pipe(res); 
Смежные вопросы