小编Mar*_*als的帖子

Meteor.js使用X509证书身份验证连接到Mongo

我正在尝试在Meteor.js应用程序和Mongo服务器之间设置无密码身份验证.

为此,我需要将pem和crt文件呈现给连接.MONGO_URL连接字符串仅接受有关如何执行身份验证的参数,但不引用具有证书的文件.我假设,我需要将cert文件作为参数传递给连接.类似于这里描述的.

如何在Meteor.js中做到这一点?

基本上我想实现相当于:

mongo mongo.example.com/example -ssl -sslPEMKeyFile client.pem --sslCAFile server.crt
Run Code Online (Sandbox Code Playgroud)

然后描述这里

db.getSiblingDB("$external").auth(
  {
    mechanism: "MONGODB-X509",
    user: "CN=myName,OU=myOrgUnit,O=myOrg,L=myLocality,ST=myState,C=myCountry"
  }
)
Run Code Online (Sandbox Code Playgroud)

这在使用mogo客户端时工作正常,但在Meteor中我到目前为止只是达到理解的程度,我很可能需要使用下面的连接字符串(或类似的东西)

MONGO_URL=mongodb://mongo.example.com:27017/example?ssl=true&authSource=$external&authMechanism=MONGODB-X509
Run Code Online (Sandbox Code Playgroud)

但问题仍然存在 - 如何将证书传递给连接?

更新:有使用本机noddejs mongo驱动程序处理问题的答案.问题是 - 如何将此移植到Meteor.

更新2015-12-31:我已经接受了在定义Collection时指向使用不同连接对象的答案.分别为每个系列做这件事很麻烦,但它似乎是现在唯一可行的方法.此外,如果需要,可能会创建一些MySslCollection,其他人可以使用它来继承连接详细信息.这尚未经过测试.

javascript ssl mongodb x509 meteor

6
推荐指数
1
解决办法
726
查看次数

create-react-app 中的条件 css

我有默认的 css 文件和单独的 css 文件,只有在满足某些条件时才应该应用(以 owerride 默认)。

我正在使用具有默认import 'file.css'语法的create-react-app 。

决定是否动态加载特定 css 文件的最佳方法是什么?

css reactjs create-react-app

6
推荐指数
2
解决办法
6750
查看次数

Meteor.js onRendered&rendered

截至最近,所有关于流星状态的文档都是onRendered在模板完成渲染时获取回调的新方法.并且rendered只是为了向后兼容.

然而,这似乎并不适合我.onRendered永远不会被执行,rendered而是.我有最新的meteor版本1.1.0.2

//only this is executed
Template.hello.rendered = function(){
  console.log('rendered');
}

//and this is not
Template.hello.onRendered = function(){
  console.log('onRendered');
}
//even if I comment first one out
Run Code Online (Sandbox Code Playgroud)

在动作两种功能,你可以在此看到GitHub的回购.我做错了什么,或者这是onRendered的缺陷?

第二个问题 - 为什么我开始深入研究这个问题 - 每次在我的模板中添加/删除dom元素时如何执行代码?rendered当发生这种情况时似乎没有被调用.还有其他方法吗?

meteor

5
推荐指数
1
解决办法
8320
查看次数

在Android中使用离子的Cordova Google-analytics-plugin不起作用

我无法让我的cordova/ionic android应用程序与谷歌分析一起使用.现在我已经尝试了GAPlugin与anulartics没有成功,现在我正在尝试更简单的设置https://github.com/danwilson/google-analytics-plugin

在我的离子角应用程序中,我添加了以下代码

.run(function($ionicPlatform) {   

 if (typeof analytics !== 'undefined'){
          analytics.startTrackerWithId('UA-55MYNUMB8-1');
          analytics.trackView('testapmain');
          console.log("starting analytics");
          analytics.debugMode()
        }
    else
    {
      console.log("Google Analytics plugin could not be loaded.")
    }
}
Run Code Online (Sandbox Code Playgroud)

并且它似乎正确处理,以下是输出 adb -s BH9XXXXJ0D logcat | grep GAV3

看起来它连接到谷歌分析,发送消息

V/GAV3    (12570): Thread[client_id_fetcher,5,main]: Storing clientId.
I/GAV3    (12703): Thread[GAThread,5,main]: No campaign data found.
V/GAV3    (12570): Thread[GAThread,5,main]: connecting to Analytics service
V/GAV3    (12570): Thread[main,5,main]: service connected, binder: android.os.BinderProxy@4483eda8
V/GAV3    (12570): Thread[main,5,main]: bound to service
V/GAV3    (12570): Thread[GAThread,5,main]: connect: bindService returned true for Intent { act=com.google.android.gms.analytics.service.START …
Run Code Online (Sandbox Code Playgroud)

android google-analytics angularjs cordova ionic-framework

3
推荐指数
1
解决办法
3010
查看次数

Materialize.css 从输入元素中删除样式

我想让 Materialize.css 卡在双击时可编辑。为此,我将输入放在卡片 div 中,而不是 p 中。

div.row
each cards
  div.col.m4.s12
    div.card.teal
      div.card-content.white-text
        if openCard
          //input(type='text' value='#{text}')              
          textarea.materialize-textarea #{text}
        else                   
          p #{text}
Run Code Online (Sandbox Code Playgroud)

问题是输入(和文本区域)元素具有广泛的材料设计样式,包括输入下方的线条。在其他场合它看起来很整洁,但在卡片内部它完全没有必要。

有没有办法从输入元素中删除样式,以便它可以在双击编辑模式下使用?

或者也许还有其他解决方案,如何通过双击卡片进行编辑,而不涉及重复使用以前样式的元素?

ps 我在 Meteor 中运行它,并且有 Jade 预处理器。然而,这些事实不应影响问题或答案。

javascript css materialize

3
推荐指数
1
解决办法
1万
查看次数