在哪里/如何调整Ember.Inflector类/创建一个ember-cli拾取它的实例?
谢谢!
在我的应用程序中,使用ember-cli开发,我还需要一些外部资源,如bootstrap; 现在我通过Brocfile导入它:
app.import('bower_components/bootstrap/dist/css/bootstrap.css');
app.import('bower_components/bootstrap/dist/js/bootstrap.js');
Run Code Online (Sandbox Code Playgroud)
是否可以使用CDN而不是本地文件,在CDN脱机时还定义对本地文件的回调?
加载我的ember CLI应用程序当前涉及下载一个3Mb文件,其中大部分都包含常见的库,如jquery,ember,bootstrap等.M3b并不大,但它在慢速连接时变得明显,所以我想要删除所有常见的库,而不是从CDN获取它们.我们的想法是,浏览器会缓存它们,因为每次我更新我的应用程序时都不需要重新下载它们(目前很常见).我已经阅读了这个问题,它指出简单地添加一个<script...>到index.html 是很容易的,但我无法弄清楚如何告诉ember不要将这些库打包到vendor.js中.
我有一个带控制器header.js和模板的ember应用程序header.hbs.
现在我需要在文档中执行一些javascript $( document ).ready()
我在Ember Views上看到了 didInsertElement但是如何从控制器中执行此操作?
// controllers/header.js
import Ember from 'ember';
export default Ember.Controller.extend({
});
// views/header.js
import Ember from 'ember';
export default Ember.Controller.extend({
});
// templates/header.js
test
Run Code Online (Sandbox Code Playgroud)
我多次阅读使用Ember Views是不好的做法?
我刚刚开始玩Ember和ember-cli.我创建了一个模板项目,并添加了几行js和一些来自Web Starter Kit的sass文件.我的项目增量构建时间几乎是15到25秒.我正在运行Windows 8.1,SSD,i5和12 GB RAM.
C:\Users\MyUser\Projects\ember\webapp>ember --version
version: 0.1.4
Could not find watchman, falling back to NodeWatcher for file system events
node: 0.10.29
npm: 2.1.10
Run Code Online (Sandbox Code Playgroud)
项目来源:https://github.com/mmrath/ember-webapp
我试过从索引,windows defender和从windows defender排除节点的项目目录.到目前为止没有任何工作.
我怎样才能缩短构建时间?
更新:以管理员身份运行命令提示符
C:\Users\MyUser\ember\webapp>ember serve
version: 0.1.4
Could not find watchman, falling back to NodeWatcher for file system events
Livereload server on port 35729
Serving on http://0.0.0.0:4200/
Build successful - 5632ms.
Slowest Trees | Total
-------------------------------+----------------
SassCompiler | 713ms
EsnextFilter | 622ms
ES6Concatenator | 530ms
EsnextFilter | 413ms …Run Code Online (Sandbox Code Playgroud) 对于emberjs和ember-cli来说,这是一个新手.
我一直想知道这样的声明是如何工作的:
import Ember from 'ember'
Run Code Online (Sandbox Code Playgroud)
"ember build"是否在node_modules中查找"ember"?
我理解这样的语句与相对路径:
import ENV from './config/environment'
Run Code Online (Sandbox Code Playgroud)
但不是那些没有路径的人.
这个问题与找不到模块的ember-validations有关,试图找到它的根本原因.
我刚刚开始重构我们的Ember应用程序以使用Pods,以便我们的目录/文件结构更易于管理.同时我升级了Ember-Cli,所以我运行了以下配置:
Ember : 1.8.1
Ember Data : 1.0.0-beta.12
Handlebars : 1.3.0
jQuery : 1.11.2
Run Code Online (Sandbox Code Playgroud)
我已更新environment.js以包含以下内容
modulePrefix: 'emberjs',
podModulePrefix: 'emberjs/pods',
Run Code Online (Sandbox Code Playgroud)
我也尝试将它设置为'app/pods'而只是'pods',但没有运气.
目录结构如下:
emberjs/
app/
controllers - original location, still has some original controllers here for other parts of the system
pods/
job/
parts/
index/
controller.js
route.js
template.hbs
edit/
controller.js
route.js
template.hbs
Run Code Online (Sandbox Code Playgroud)
应用程序构建正常,如果我查看emberjs.js文件,我可以看到pods控制器,路由和模板的各种定义
例如
define('emberjs/pods/job/parts/index/controller', ['exports', 'ember'], function (exports, Ember) {
define('emberjs/pods/job/parts/index/route', ['exports', 'ember'], function (exports, Ember) {
define('emberjs/pods/job/parts/index/template', ['exports', 'ember'], function (exports, Ember) {
Run Code Online (Sandbox Code Playgroud)
所以有些东西正在识别豆荚结构.
但是当我尝试访问这条路线时,问题就来了.我在控制台中收到一条警告消息并且没有显示任何内容 - 基本上它表示它可以找到模板abd,看起来它正在使用生成的控制器.
generated -> controller:parts …Run Code Online (Sandbox Code Playgroud) 我可以使用ic.ajax将数据导入我的应用程序,但似乎我应该使用RESTAdapter.解释如此简化,我不确定在各种情况下该怎么做.这是我认为应该工作的:(和固定装置,本地快递服务器和http-mocks一样)
我将使用tumblr作为示例 - 因为它总是一直是友好的API.
import Ember from 'ember';
import config from './config/environment';
var Router = Ember.Router.extend({
location: config.locationType
});
Router.map(function() {
// tumblr posts
this.resource('posts', {
path: '/tumblr'
});
});
export default Router;
Run Code Online (Sandbox Code Playgroud)
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return this.store.find('post');
}
});
Run Code Online (Sandbox Code Playgroud)
所以,据我所知 - find()是一个神奇的 ajax调用...但是如果我想指定jsonp或者其他什么呢?
import DS from 'ember-data';
var tumblrBlogName = 'feministlibraryonwheels'; // friends site
var tumblrApiKey = 'UbB4p0GxqNa6wUa8VwpIdqtywjIiA6vljZXyI9wkx9hnQnAFyk';
var tumblrRequestUrl = 'http://api.tumblr.com/v2/blog/' + …Run Code Online (Sandbox Code Playgroud) 我正在做一个插件.我尝试使用偏.在我的addon/templates/components/form.hbs中我得到了{{partial "pane"}}.我_pane.hbs是在插件/模板文件夹,但烬不能找到它:
未捕获错误:断言失败:无法找到名称为"窗格"的部分.
我也尝试将_pane.hbs放在插件/模板/组件中,但没有运气.我应该把它放在哪里被灰烬捡起来?
我在我的应用程序路由中注入的服务中有一个isAuthenticated属性,如何在我的路由中从注入的服务获得计算属性?
export default Ember.Route.extend({
session : Ember.inject.service('market-session'),
isUser : Ember.computed.oneWay('session.IsAuthenticated'),
}
Run Code Online (Sandbox Code Playgroud)
这可能吗?在模板中似乎没有得到价值.
在模板内 -
{{#if isUser}}
User is authenticated
{{else}}
User log in form
{{/if}}
Run Code Online (Sandbox Code Playgroud)
这个计算属性只有在我将它移动到控制器时才有效,这应该在路由和控制器中都能正常工作吗?我在这里错过了什么吗?
ember-cli ×10
ember.js ×9
cdn ×2
ember-data ×2
ember-pods ×1
javascript ×1
refactoring ×1
tumblr ×1