Tag: ember.js

EmberJS Tech-Stacksearch引擎可抓取应用程序

我阅读了很多关于客户端JavaScript应用程序和search引擎漫游爬行方法的内容。 我发现了两个一般的方法: 工作stream程1: 先决条件:整个Web应用程序降级优雅,没有JavaScript可用。 所以它是可见的search引擎漫游器爬行。 用户来自谷歌search到一个特定的主题 该主题尽可能快地在纯html中加载 JS App Framework在后台加载 一旦准备就绪JS应用程序框架接pipe所有的行动和路线等。 工作stream程2: 先决条件:服务器后端是根据Google的ajax抓取指南( https://developers.google.com/webmasters/ajax-crawling )devise的,并返回到escaped_fragmenturl(例如www.example.com/ajax.html?_escaped_fragment_=key =值)纯html。 据我了解像http://phantomjs.org/可以用来确保没有前端代码的重复。 Google会在结果中显示ajaxurl 请求使用ajax url#! emberjs应用程序被初始化,并根据URL加载所需的状态。 题: 一个可抓取的应用程序堆栈应该如何为search引擎机器人和前端js-framework提供服务器端渲染? 什么是由emberjs核心开发人员build议实现这一目标? (例如,Node + Emberjs + phantomjs + – x或Rails + Emberjs + y或Playframework + Z)? 我知道可能有很多方法到达那里,但是我觉得使用stackoverflow来过滤常用的方法会很好。 边注: 我已经看了一些JS框架,想要创build这样一个完整的开箱即用。 在这里命名这些: http://derbyjs.com/ (很好的方法,但仍然阿尔法) http://batmanjs.org/ (不清楚生产准备(特别是后端)) http://www.firebase.com/ (不同的,但也有趣的,如果他们得到安全的权利) http://meteor.com/ (也是预览状态) http://developer.yahoo.com/cocktails/mojito/ 我特别要求emberjs,因为我喜欢他们的方法,我认为它背后的团队绝对有能力构build最好的框架之一。

将Ember.js与Node.js(Express + Tower.js)集成

我正在研究将Ember.js与Node.js + Express + Tower.js集成的解决scheme。 我刚刚开始研究Tower.js(最近几个小时),看起来框架提供了一个很好的结构来放置服务器端和客户端代码(类似于Rails中的assets文件夹)。 由于一切都在Javascript中,我可以将Ember应用程序代码: 完全在客户端,即发送一切请求。 只服务于最初需要的东西,仅在需要时才提供服务。 在第二个解决scheme中,可以在服务器上呈现视图并发送纯HTML。 那么Ember(控制器,模型,状态,…)的应用程序逻辑呢? 怎样才能更好地与服务器端Javascript(如node.js + Express + Tower.js)集成,以便重复代码被最小化。 在一个理想的情况下,你定义每个模型/控制器/等一次,并在服务器和客户端上使用它。

服务器上的Ember.js

我正在通过ember.js开发一个非常dynamic的Web应用程序。 客户端与服务器端的JSON API进行通信。 用户可以进行各种select,并从各种angular度查看切块和过滤的数据,所有这些数据都来自于所述API。 事情是,我也需要从相同的数据生成静态页面(谷歌可以理解)。 这些静态页面代表预定义的视图,不允许太多的交互; 它们意味着作为来自search引擎的用户的登陆页面。 当然,我想尽可能多地从我的dynamicWeb应用程序中重新生成这些静态页面,所以我认为自然的方向是实现一个服务器端模块来渲染这些页面,这些页面将尽可能重用可能的我的Ember.js意见和代码。 但是 – 我找不到任何材料。 Ember的文档中说:“虽然在服务器端可以使用Ember.js,但这不在本指南的范围之内。 任何人都可以指出什么可以在服务器端重用,以及devise应用程序的最佳实践,以最大限度地实现这种重用? 当然,如果你认为我的想法没有意义,我会很高兴听到这个(以及为什么):-) 谢谢! C。

如何在Ember或Jquery中重新加载页面

我如何强制重装,而不是在Ember.Route过渡 例如在这个函数里面: File: play_route.js actions: { willTransition: function(transition, route) { transition.abort(); transition.refresh(); // maybe // window.location.href = route; } } 我如何强制重新加载Ember.Controller里面 例如在这个函数里面: File: play_controller.js actions: { reloadPage: function() { // reload baby } }

使用带有node.js + express.js的ember.js

经过多年的服务器端PHP / MySQL开发,我正在尝试探索构build现代Web应用程序的新技术。 我试图让所有的Javascript的东西之间的顺序,如果我已经很好的理解,有效的解决scheme可以是服务器端的node.js,express.js来处理路由,例如,ember.js和/或knockout.js处理客户端与mvc / mvvm,绑定,观察者…这是一个有效的体系结构?

从代理后面运行的网站访问web服务

我正在devise一个使用烬的网站,并在节点上expression。 它运行在服务器上,说:SERVER_1。 我有几个webservices运行在另一台服务器,说:SERVER_2。 那是: SERVER_1中的网站和SERVER_2中提供的webservices SERVER_1位于代理服务器的后面。 我试图从SERVER_1访问webservices: SERVER_1 =====[PROXY]===> SERVER_2 当我从SERVER_1进行AJAX web服务调用时,我收到: NetworkError: 500 Internal Server Error 但是,我能够通过浏览器成功检索值。 只有通过AJAX代码,我正在检索networking500错误 。 另外为了testing,我删除了我的代理服务器设置: SERVER_1 =====> SERVER_2 我可以通过AJAX代码和浏览器成功访问所有这些Web服务。 如果我有他们之间的代理服务器: SERVER_1 =====[PROXY]===> SERVER_2 我越来越 – NetworkError:500内部服务器错误 我想知道从代理服务器上运行的网站访问第三方Web服务的过程吗? 附加信息: 已经修复跨域Web服务访问问题(网站运行在一个服务器和Web服务运行在一些其他不同的服务器与不同的端口),我使用HTTP代理 NPM,我的代码如下: var express = require('express'); var routes = require('./routes'); var http = require('http'); var path = require('path'); var httpProxy = […]

Ember.js如何引用Grunt.js预编译的Handlebars模板?

我一直在探索Ember.js,以及Grunt.js,但我不明白Ember.js如何能够find并使用预编译的Handlebars模板。 现在我的Gruntfile.js看起来像这样: module.exports = function(grunt) { // Project configuration. grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), handlebars: { compile: { files: { "js/templates.js": "templates/*.hbs", } } } }); // Load the plugin that handles the handlebars compiling grunt.loadNpmTasks('grunt-contrib-handlebars'); // Default task(s). grunt.registerTask('default', ['handlebars']); }; 我的app.js Ember视图是这样声明的(路由和控制器被省略): App.LogoView = Ember.View.extend({ templateName: 'logo', classNames: ['logo'] }); App.TabsView = Ember.View.extend({ templateName: 'tabs', […]

呃cli应用程序构build失败:西兰花插件:失败:

version: 2.4.2 Could not start watchman; falling back to NodeWatcher for file system events. Visit http://www.ember-cli.com/user-guide/#watchman for more info. File: /home/user/Documents/myApp/app The Broccoli Plugin: [object Object] failed with: Error: watch /home/user/Documents/myApp/app ENOSPC at exports._errnoException (util.js:870:11) at FSWatcher.start (fs.js:1234:19) at Object.fs.watch (fs.js:1262:11) at NodeWatcher.watchdir (/home/user/Documents/myApp/node_modules/ember-cli/node_modules/sane/src/node_watcher.js:144:20) at new NodeWatcher (/home/user/Documents/myApp/node_modules/ember-cli/node_modules/sane/src/node_watcher.js:45:8) at new sane (/home/user/Documents/myApp/node_modules/ember-cli/node_modules/sane/index.js:17:12) at EventEmitter.Watcher_addWatchDir [as […]

做任何客户端JavaScript框架与Node.js + Express.js + socket.io.js很好地集成吗?

我正在使用Node.js + Express.js + socket.io.js在后端构build一个Web应用程序。 做任何stream行的前端框架(Agility,Angular,Backbone,Closure,Dojo,Ember,GWT,jQuery,Knockback,Knockout,Spine,YUI等等)都可以很好的与后端的“实时”应用程序集成吗? 我希望我的应用程序具有非常“实时”的感觉。 具体而言,当用户提交表单时,我希望使用Web套接字将信息发送到后端进行validation,并在数据库中更新(如果validation通过)。 然后,服务器端将使用Web套接字来发送确认数据已保存或一些错误列表。 我将使用服务器的响应来使用JavaScript更新页面。 我知道所有这些都可以用任何列出的框架来完成。 我对特定框架的function感兴趣,这将有助于框架与​​基于Node的后端更好地整合,而不是其他框架。

用nodejs预编译Emberjs Handlebar模板的简单方法是什么?

我很享受emberjs,想要在我的一些小的移动应用程序中进行下一步操作,并预编译我的Ember / Handlebars模板,作为构build过程的一部分。 我宁愿远离搞乱Ruby,也想使用node.js,因为我更喜欢使用它。 我相信我想要使用的是Ember.Handlebars.precompile,但不幸的是我无法在节点环境中加载规范的ember.js文件。 来自节点repl的天真尝试示例: > var e = require('./ember'); ReferenceError: window is not defined at /Users/jeremyosborne/git/projects/ldls/client/lib/emberjs/src/ember.js:5:1 at Object.<anonymous> (/Users/jeremyosborne/git/projects/ldls/client/lib/emberjs/src/ember.js:1596:2) — stack trace, you get the idea — 我想我已经想出了如何在我的代码中设置它们,以便它们能够正确地使用我的视图,我只是想在浏览器DOM之外的环境中编译它们。 代替获得规范的ember.js加载节点,是否有一套特定的文件,我可以采取从余烬回购,并用于编译我的模板? 编辑我做了一个kluge修复工程很好,但得到维修性的F。 我抓住了所有的Handlebars代码减去对window对象的引用。 然后我跟着Ember.Handlebars.Compiler代码,用Object.createreplaceEmber.create ,导出我的Ember对象,并且在节点中看起来非常棒的东西(因为它的工作方式和生成的函数都是模板)。 但是由于前面提到的维护问题,我不认为这是我自己问题的答案,所以仍然可以回答。 编辑2上面原来是一个总失败。 也许在程序中有问题,但使用Ember.Handlebars.precompile或Ember.Handlebars.compile不起作用。 模板被创build,但是当我在我的代码中使用附加到Ember.TEMPLATES的预编译模板时,它们不起作用。 我似乎只能在模板显式传递到修改的脚本标记中时才能使模板工作,正如在emberjs.com网站上所build议的那样。 编辑3我想清楚我做错了什么。 我的答案在下面。