android - 如何在node.js中实现没有express服务器的Android Deeplink

标签 android node.js http deep-linking

我正在尝试将 Android Deeplink 与 Node.js 中的 HTTP 服务器集成。实际上,如果我使用 Express 服务器创建一个端点,例如

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

它会工作得很好。但实际上我需要与普通的http服务器集成。

最佳答案

是的,我已经完成了与 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);

关于android - 如何在node.js中实现没有express服务器的Android Deeplink,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40632977/

相关文章:

javascript - 为什么我的异步函数不起作用?我只是想让它 console.log mongodb 查询的结果?

node.js - 使用 gulp-gzip 时 Gulp SourceMaps 不工作

.net - 通过 https 调用获取 EOF 异常

Android 应用程序在启动时崩溃,Logcat : Didn't find class "[package name]" at/data/app/[package name]

java - Android开发中Fragment之间传递对象数组列表

java - view.setText 发生在循环之后?

node.js - 编译时 tsc 忽略 index.d.ts 类型定义

android - DownloadManager setVisibleInDownloadsUi 不起作用

HTTP header - ntCoent-Length

C编写的HTTP服务器在回复后重置连接