我使用express创建一个简单的节点项目:
npm install -g express-generator
express test
cd test/ && npm install
PORT=3000 npm start
Run Code Online (Sandbox Code Playgroud)
因此,这将使测试应用程序在端口3000上运行并运行.很棒.现在我想nodemon用来运行这个项目.我安装了它:
npm install -g nodemon
Run Code Online (Sandbox Code Playgroud)
在gihub自述文件中,它的运行方式与节点相同.这有点令人困惑,因为启动节点的新方法npm start不是node.所以我尝试过:
$ PORT=3000 nodemon ./app.js
13 May 23:41:16 - [nodemon] v1.0.18
13 May 23:41:16 - [nodemon] to restart at any time, enter `rs`
13 May 23:41:16 - [nodemon] watching: *.*
13 May 23:41:16 - [nodemon] starting `node ./app.js`
13 May 23:41:16 - [nodemon] clean exit - waiting for changes before restart
Run Code Online (Sandbox Code Playgroud)
但是当我尝试连接时,那里什么都没有.我确认:
lsof …Run Code Online (Sandbox Code Playgroud) JSX:
var Button = require("react-bootstrap").Button;
var Input = require("react-bootstrap").Input;
var MyClass = React.createClass({
onclick: function () {
this.refs.email.getDOMNode().focus();
console.log('DOM element', this.refs.email.getDOMNode());
}
render: function () {
return (
<div>
<Button onClick={this.onlick}>Login</Button>
<Input ref='email' type='email' />
</div>
);
},
});
Run Code Online (Sandbox Code Playgroud)
笔记:
react-bootstrap.Input类.当按钮onclick处理程序运行时,电子邮件输入字段应该获得焦点,但它不会发生.我发现react-bootstrap Input字段类正在渲染包装div中的真实DOM输入字段.这是console.log的输出:
<div class="form-group" data-reactid=".1awy8d4e9kw.1.3.$=1$3:0.0.0.1.0">
<input class="form-control" type="email" data-reactid=".1awy8d4e9kw.1.3.$=1$3:0.0.0.1.0.1:$input">
</div>
Run Code Online (Sandbox Code Playgroud)
所以看起来输入没有得到焦点,因为焦点应用于包装div,它拒绝它(我document.activeElement在控制台中使用来检查).
问题是,如何关注真实input元素?
注意:有点不相关但React尊重该autoFocus属性.在渲染后需要立即设置焦点时,这很有用.尽管如此,它还不能取代程序化的方式.
我正在寻找一种方法来从部署为myapp.meteor.com的Meteor应用程序获取服务器日志.理想情况下,我可以使用的配置或程序包将实时将远程服务器的日志发送到本地终端(Linux/OSX).有没有直接的方法来实现这一目标?
尝试在AWS/EBS(Amazon Web Services,Elastic Beanstalk)环境中设置Meteor.
Meteor开发运行可以传递命令行标志:--settings settings.json 其中settings.json 是包含服务器/客户端键/值配置的文件(作为格式正确的JSON).
Meteor的部署使用METEOR_SETTINGS环境变量,而不是在命令行中传递配置文件.如果提供的话,它应该包含一个json文档settings.json,例如:
$ METEOR_SETTINGS=$(cat settings.json)
$ echo $METEOR_SETTINGS
{ "public": { "s3path": "https://d2v4p3rms9rvi3.cloudfront.net" } }
Run Code Online (Sandbox Code Playgroud)
问题是当我METEOR_SETTINGS在EBS控制台中将值设置为此值时:
AWS/EBS丢弃引号,转义斜杠(如屏幕截图所示),并发送Meteor:
{public:{s3path:https:\/\/d2v4p3rms9rvi3.cloudfront.net}}
Run Code Online (Sandbox Code Playgroud)
如节点启动错误所示:
-------------------------------------
/var/log/nodejs/nodejs.log
-------------------------------------
npm WARN deprecated backwards-incompatible changes made to `npm run-script` and
npm WARN deprecated semver behavior.
> meteor-dev-bundle@0.0.0 start /var/app/current
> node main.js
/var/app/current/programs/server/boot.js:283
}).run();
^
Error: METEOR_SETTINGS are not valid JSON: {public:{s3path:https:\/\/d2v4p3rms9rvi3.cloudfront.net}}
at packages/meteor/packages/meteor.js:21:1
at Package (packages/meteor/packages/meteor.js:42:1)
at /var/app/current/programs/server/packages/meteor.js:1277:4
at /var/app/current/programs/server/packages/meteor.js:1286:3
at /var/app/current/programs/server/boot.js:242:10 …Run Code Online (Sandbox Code Playgroud) 我使用此处ion-slide记录的指令,我找不到隐藏寻呼机的方法.我尝试设置寻呼机属性,如下所示:
<ion-slides options="myOptions" pager="false" slider="mySlide[item.id]">
Run Code Online (Sandbox Code Playgroud)
然而,这不起作用,寻呼机子弹仍在显示.
是否可以隐藏离子幻灯片寻呼机,如果是这样 - 如何?
在一个流星项目中,我想拉几个前端包.bower可以拉出许多尚未使用的前端依赖项meteor add.在许多情况下,当流星套餐可用时,他们的版本落后于官方版本,有时候太落后了.
作为一个流星新手,我试图安装凉亭(我能找到的最新流星凉亭包):
$ meteor add bozhao:bower
Run Code Online (Sandbox Code Playgroud)
但是,当我运行流星服务器时它会崩溃:
W20160110-15:37:57.997(2)? (STDERR) /Users/igal/.meteor/packages/meteor-tool/.1.1.10.7bj3ks++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:245
W20160110-15:37:57.998(2)? (STDERR) throw(ex);
W20160110-15:37:57.998(2)? (STDERR) ^
W20160110-15:37:57.998(2)? (STDERR) ReferenceError: window is not defined
W20160110-15:37:57.998(2)? (STDERR) at bower_components/leaflet/dist/leaflet-src.js:526:1
Run Code Online (Sandbox Code Playgroud)
问题是:安装bower并在流星项目中使用它的最佳策略是什么?一个可接受的答案可能显示正确安装凉亭的流程,然后是leaflet包和它的leaflet.markercluster扩展
流星社区切换到npm,因此不再需要使用凉亭.简单地做npm install <package>,并import <package>在您的客户端代码,你可以开始使用组件!
我通常在 git web 项目中使用 meld(系统:Ubuntu-gnome 13.10)。
我希望它跳过扫描某些文件和文件夹,例如 .meteor 目录(扫描需要一段时间)。
Ubuntu-Gnome 安装了 meld 1.8.1。它在编辑 -> 首选项 -> 文件过滤器下有一个添加新文件过滤器的选项。更多详情:http : //meldmerge.org/help/file-filters.html#file-name-filter
我为要跳过的文件和文件夹添加了新规则(并选中了“激活”选项),但它似乎不起作用,即使在重新启动 meld 之后。
新规则似乎不起作用 - 我看到 meld 正在扫描 .meteor 文件夹,并且它显示据称被忽略的文件 (index.html) 已更改。我没有看到“文件过滤器不起作用”的开放式融合错误。我倾向于认为它确实有效,只是我做错了什么。任何解决这个问题的想法将是最受欢迎的!
我在我的.vrimrc可爱的小宏中添加/删除代码中的c ++样式注释:
" remove c++ style comment
nmap _ :s/^[ \t]*\/\///<CR>==:nohls<cr>
" comment line, c++ style
nmap - :s/^[ \t]*/\/\/ /<CR>==:nohls<cr>
Run Code Online (Sandbox Code Playgroud)
这些工作通过用另一个替换线条图案的开头.在一个案例中添加//,在另一个案例中删除斜杠(如果找到).
我遇到的问题是那些宏使用搜索和替换.结果,不需要的搜索模式被保存到vim的搜索历史中,使其混乱.
考虑一下顺序:
如何修改此宏以不将不需要的模式注入搜索历史记录?
在我的一个项目中,我曾经在bootstrap-2.3.2中使用bootstrap-tags输入http://timschlechter.github.io/bootstrap-tagsinput.最近我更新了两个(bootstrap为3,tagsinput为0.3.9).在更新期间,我发现外部的tagsinput取决于http://twitter.github.io/typeahead.js/.
我尝试根据文档使用bs-tagsinput和typeahead.那有点颠簸.例如,bootstrap-tagsinput docs下的typeahead代码示例:
$('input').tagsinput('input').typeahead({
prefetch: 'citynames.json'
}).bind('typeahead:selected', $.proxy(function (obj, datum) {
this.tagsinput('add', datum.value);
this.tagsinput('input').typeahead('setQuery', '');
}, $('input')));
</script>
Run Code Online (Sandbox Code Playgroud)
typeahead ['setQuery']不再存在于typeahead ver 1.0中(它在ver 0.9中).我对数据集使用typeahead.source方法.来自'source'的typeahead没有在0.9中实现,因此降级似乎不是一个选项.我不确定是否用typeahead ['val']替换它(尽管两者都没有解决我看到的问题).至于CSS,我从bootstrap-tagsinput docs页面复制了它 - 不确定这是意图(我是新手,所以我不知道更好).
问题是,把所有东西放在一起后,我遇到了错误的行为(如预期的那样).具体来说,我遇到一个问题,插入标签后(输入一个单词并按下输入):( 1)tt-dropdown-menu应该消失,但事实并非如此.它与之前的tt-suggestions列表一起保持不变,并且(2)tt-hint字段应该被清除但不是
如果我使用箭头选择其中一个tt-advice,就不会发生这个问题
有谁知道什么是获取tagsinput-w/typeahead功能的最佳方法?
typeahead bootstrap-typeahead jquery-tags-input twitter-bootstrap-3 twitter-typeahead
TL; DR - 我启用了触摸屏仿真,但它无法正常工作.救命.
我在OSX上使用google-chrome ver 44并在我的devtools仿真选项卡中选中了"Emulate touch screen"选项.当按住shift和滚动时,我期待我们都熟悉的捏/拉伸手势.
然而,当我按住shift并向上/向下滚动(两个手指在我的macbook上滚动)时,不会在网页(例如谷歌地图)中应用捏合/拉伸手势.
更多信息:当鼠标指针在设备模拟器上时,我按下shift并且圆形'触摸'光标变成'调整大小'光标.只是实际滚动没有效果.
google-chrome emulation multi-touch gestures google-chrome-devtools
我在OS X系统上本地运行Meteor应用程序并使用meteor-settings.json文件:
$ cat meteor-settings.json
{
"public": {
"s3path": "https://d2v4p3rms9rvi3.cloudfront.net"
}
}
Run Code Online (Sandbox Code Playgroud)
当我按照以下方式运行流星时:
$ meteor --version
Meteor 1.2.1
$ meteor --settings meteor-settings.json
Run Code Online (Sandbox Code Playgroud)
Meteor.settings.public.s3path 有预期的s3网址,一切都很好.
根据官方Meteor文档,我可以使用METEOR_SETTINGS环境变量.问题是,当我填充并导出它时(如下所示):
$ export METEOR_SETTINGS=$(cat meteor-settings.json)
$ echo $METEOR_SETTINGS
{ "public": { "s3path": "https://d2v4p3rms9rvi3.cloudfront.net" } }
$ meteor
Run Code Online (Sandbox Code Playgroud)
Meteor.settings.public 变空,所有基于s3-url的功能都被破坏了.
在不使用env变量的情况下,我无法捆绑和模拟生产部署,因为afaik生产部署无法使用命令行标志(至少在AWS/EBS上).
为什么Meteor没有填充Meteor.settings.public?我有什么想法可以解决这个问题?
根据Utilities.getUuid Google 脚本文档:
获取字符串形式的 UUID(相当于使用 java.util.UUID.randomUUID()
查看java.util.UUID.randomUUID() 文档:
变体字段包含一个标识 UUID 布局的值。上述位布局仅对变体值为 2 的 UUID 有效,这表示 Leach-Salz 变体。
是variant value of 2指吗UUIDv2?
假设Utilities.getUuid生成 sUUIDv2并且未通过UUIDv4验证:
我的项目需要在JS代码中生成UUIDv4。另外,对 _ids 有一个限制:它们必须是UUIDv4(这是不可协商的,现有的数据库等)。
是否可以通过 GS 接口生成 UUID V4 Utilities?
或者 - 是我复制和调用生成 UUIDv4 的 JS 代码的最佳选择吗?