观看了Meteor Framework 截屏视频.我注意到更改数据库无缝地更改了浏览器中的数据.通常是AJAX,只需每隔几秒重新加载一部分页面,但在这里我没有注意到浏览器重新加载.他们是如何在流星中实现这一目标的?是Node.js依赖吗?
更新:Toby Catlin提出了另一个有趣的问题.Meteor如何处理不同的浏览器?
你们知道为什么WireShark可能会拒绝解码Windows上的gzip'ed http流量吗?
我的配置
在Preferences/Protocols/HTTP中选中"未压缩的实体主体"选项.
以下是我的"Follow TCP Stream"对话框的样子:

当我第一次打开这个对话框时,下面的单选按钮设置为"Raw",但是当我点击"ASCII"时没有任何变化.
有任何想法吗 ?
我有这个代码
async function addFiles(dir,tree) {
return (await readDir(dir))
.map(async (name) => {await readDir(dir); return name;})
}
Run Code Online (Sandbox Code Playgroud)
但不幸的是,它只返回了一堆承诺,因为没有等待map中的异步函数.我想知道是否有任何方法可以等待上面代码中的映射函数.
一段时间以来,所有主流浏览器都支持ES6模块.
这些与许多服务器端方法的不同之处在于,它们需要指定要导入的确切文件 - 它们不能使用文件发现.
这是有道理的 - 在Node应用程序或像WebPack这样的捆绑器中,它们只需要模块的名称,然后可以花费一些额外的时间来发现保存代码的特定文件.在网络上,可能是白白浪费了很多往返的(是'library'的library/index.js,还是 library/library.js,还是library.js?require()不关心,但在网络上,我们必须).
打字稿有ES6模块的支持(设置"module": "es6"在tsconfig.json),但它似乎是使用文件发现方法...
假设我有library.ts:
export function myFunction(...) { ... }
Run Code Online (Sandbox Code Playgroud)
然后在app.ts:
import {myFunction} from './library';
var x = myFunction(...);
Run Code Online (Sandbox Code Playgroud)
但是,在转换时这没有改变 - TS输出仍然具有'library'文件发现的名称,这不起作用.这会抛出错误,因为'library'找不到:
<script type="module" src="app.js"></script>
Run Code Online (Sandbox Code Playgroud)
为了使ES6模块工作,TS输出需要引用特定文件:
import {myFunction} from './library.js';
var x = myFunction(...);
Run Code Online (Sandbox Code Playgroud)
如何使TS输出有效的ES6模块import语句?
注意:我不是问如何使捆绑器将TS输出连接到单个文件中.我特别想要使用单独加载这些文件<script type="module">
这两个require语句似乎都以相同的方式工作:
var Mypackage = require('mypackage.js');
var Mypackage require('mypackage');
它们之间有区别吗?
我正在使用Codeception进行一些API测试.我们的想法是确保每个API调用都返回所需格式的预期响应代码和JSON对象.
我遇到的问题是我需要使用不同的URL,具体取决于服务器localhost,测试服务器还是生产服务器.
我无法使用值,$_SERVER['SERVER_NAME']因为测试不是通过Web浏览器运行的.
在http://codeception.com/docs/07-AdvancedUsage#Environments中,他们解释了可以通过修改配置文件来设置某些环境.该文档没有解释如何修改配置文件以在您自己的单元测试中使用它.
我还想设置一些环境,如local,test,production然后,我的单元测试类里面,才知道什么URLs用.每个环境都有不同的URL.
我已经阅读了文档但我无法找到方法.
你知道如何实现我的需求吗?
我知道如何编写 Meteor包,但我似乎无法弄清楚如何让所有导出都落在我的应用程序的命名空间中,如本演示文稿中所述.
这个特定的包特定于我正在构建的应用程序,它只导出一个可以被视为应用程序单例的装饰器的方法.我试过api.export('MyApp.myMethod')但是这给了一个错误native: Bad exported symbol: MyApp.myMethod.
如果我只是api.export('myMethod'),那么在我必须调用的应用程序代码中myMethod(),这不是命名空间.
Meteor是否有类似Node的机制var http = require('http');?或者如何将包导出到给定的命名空间?
javascript namespace-organisation global-namespace javascript-namespaces meteor
一个函数如何限制其调用?如果过于频繁,则不应丢弃这些调用,而是在时间上排队并间隔开,间隔为X毫秒.我看过油门和去抖动,但他们放弃了通话而不是将它们排队等待将来运行.
有没有比process()X毫秒间隔设置方法的队列更好的解决方案?JS框架中是否有这样的标准实现?到目前为止我看过underscore.js - 没什么.
我在本地计算机上使用Meteor 1.0.3.1,我正在使用节点v0.10.36进行部署.但是,部署机器只显示铁路由器启动画面......"铁:路由器""组织你的Meteor应用程序"......
还有其他几个关于修复这个确切问题的堆栈,包括删除标记和删除项目npm.js文件(从引导程序遗留下来).这些都不起作用.
project.js文件如下:
Router.route('/', function () {
this.render('home');
});
Router.route('/about', function () {
this.render('about');
});
Router.route('/contact', function () {
this.render('contact');
});
Router.route('/legal', function () {
this.render('legal');
});
Router.route('imitationgamereview', function () {
this.render('imitationgamereview');
});
if (Meteor.isClient) {
}
if (Meteor.isServer) {
Meteor.startup(function () {
// code to run on server at startup
});
}
Run Code Online (Sandbox Code Playgroud)
project.html文件如下:
<head>
<title>my sample project</title>
<link rel="shortcut icon" href="/favicon.ico?v=2" />
</head>
<template name="home">
test
</template>
Run Code Online (Sandbox Code Playgroud)
完全疯狂!WTF铁路由器?我爱上了你,那么你就这样对我这么做!
如何在Polymer自定义元素中使用getElementById?
这是我的元素:
<link rel="import" href="../bower_components/polymer/polymer.html">
<link rel="import" href="../styles/shared-styles.html">
<dom-module id="bb-calendar">
<template>
<style is="custom-style" include="shared-styles"></style>
<div class="card">
<paper-toolbar>
<div title>Calendar</div>
</paper-toolbar>
<div id="hideme">
<div>this should be hidden</div>
</div>
</div>
</template>
<script>
Polymer({
is: 'bb-calendar',
ready: function() {
document.getElementById("hideme").style.display = 'none';
}
});
</script>
</dom-module>
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,我收到此错误消息: Uncaught TypeError: Cannot read property 'style' of null
显然我做错了但我不知道是什么.
javascript ×6
meteor ×3
async-await ×1
babeljs ×1
codeception ×1
debouncing ×1
es6-modules ×1
gzip ×1
html ×1
http ×1
iron-router ×1
node.js ×1
php ×1
polymer ×1
polymer-1.0 ×1
require ×1
task-queue ×1
throttling ×1
typescript ×1
unit-testing ×1
wireshark ×1