标签: ember-cli

在不破坏URL的情况下将ember-cli应用程序部署到S3

我正在研究一个我在S3中部署的ember-cli应用程序.我真的希望能够使用这种"无服务器"方法,因为它配置非常简单,而且非常实惠.

我的网址有问题.如果我点击http://my-bucket.s3-website-us-east-1.amazonaws.com/就可以了.但是如果我尝试直接加载除应用程序根目录之外的页面,例如http://my-bucket.s3-website-us-east-1.amazonaws.com/elephants/5,那么它会给出403 ,因为S3中没有这样的资源.(我可以通过应用程序很好地导航到这些页面,我可以在我的机器上以开发模式直接命中它们,因此ember应用程序工作正常.)

寻找解决方案,我找到了添加到我的路径的建议#!.这似乎更好,因为它没有返回403,但当我点击http://my-bucket.s3-website-us-east-1.amazonaws.com/#!/elephants/5时,它只是重定向到http://my-bucket.s3-website-us-east-1.amazonaws.com,丢失路径中包含的任何特定信息.

我有什么选择?有没有办法使用S3并有工作的URL?我需要服务器吗?还是有另一种方法让我望而却步?

url amazon-s3 ember.js ember-cli

7
推荐指数
2
解决办法
1202
查看次数

如何将ember-cli app更新为ember-data 1.0.0-beta9?

我有一个ember-cli应用程序.看来ember-cli 1.0.0-beta.8.2a68c63a默认使用ember-data .(至少将其加载到浏览器中ember serve)

但我想使用当前 beta.9,因为最近的变化DS.DateTransform.

如何更新我的余烬数据版本?

令人困惑的是因为ember-data似乎安装了两次!一次用凉亭(但我没有依赖我的bower.json),一次用npm(但这里是ember-cli-ember-data).

安装版本的bower似乎是1.0.0-beta.10(为什么10?在emberjs.com上只列出了9个!),但是ember-cli-ember-datanpm模块1.0.0-beta.8.2a68c63a加载了一个ember-data .最近对github repo的更改告诉我现在已经弃用了,我应该更新我的package.json,但是怎样,为什么ember-cli没有为我做这个?

感谢您的帮助安装ember-data 1.0.0-beta.10!

ember.js ember-data ember-cli

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

ember-cli http-proxy无法正常工作

我是一个初学者,使用ember-cli v0.0.47并努力让http-proxy工作.

我正在尝试向远程OGC CSW服务器发出ajax请求.该请求是具有一些附加参数的普通HTTP GET请求,并且预期响应是XML文档.

由于我正在做一个跨源请求,我决定使用服务器代理,以避免处理CORS的东西.

我使用ember-cli生成代理配置:

ember-cli generate http-proxy geoland2 http://geoland2.meteo.pt
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我定义了一个使用jquery.ajax与服务器通信的"搜索"操作:

export default Ember.Controller.extend({

    actions: {
        search: function() {
            Ember.$.ajax({
                url: 'geoland2/geonetwork/srv/eng/csw',
                contentType: 'application/xml',
                crossDomain: true,
                xhrFields: {
                    withCredentials: true
                },
                dataType: 'xml',
                data: {
                    service: 'CSW',
                    version: '2.0.2',
                    request: 'GetCapabilities'
                },
            }).then(
                function(data) {
                    alert(data);
                    Ember.$('.results').html(data);
                },
                function(jqXHR, textStatus, errorThrown) {
                    Ember.$('.results').html(jqXHR.status + ' ' + errorThrown + ' - ' + jqXHR.responseText);
                }
            );
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

现在当这个动作被触发时,我会期待这个动作

geoland2/geonetwork/srv/eng/csw 
Run Code Online (Sandbox Code Playgroud)

将由ember-cli的服务器代理并发送给

http://geoland2.meteo.pt/geonetwork/srv/eng/csw?service=CSW&version=2.0.2&request=GetCapabilitites
Run Code Online (Sandbox Code Playgroud)

这种假设应该是正确的吗?

实际上,我看到的是请求根本没有代理.ember应用程序尝试联系

http://localhost:4200/geoland2/geonetwork/srv/eng/csw?service=CSW&version=2.0.2&request=GetCapabilitites
Run Code Online (Sandbox Code Playgroud)

它失败并出现404 HTTP错误,因为指定的资源显然不可用. …

ajax proxy jquery ember.js ember-cli

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

在ember-cli服务器上为静态文件设置CORS

如何在内置的ember-cli服务器上对字体文件(或任何其他静态资源)的请求设置CORS?

这是仅供参考的错误消息:

Font from origin 'http://some-domain:4200' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:61277' is therefore not allowed access.
Run Code Online (Sandbox Code Playgroud)

cors ember.js ember-cli

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

如何将Ember CLI应用程序部署到Azure网站

我正在尝试将一个ember-cli应用程序部署到Azure网站.部署到azure时,运行部署脚本,执行以下操作:

 - npm install bower
 - npm install ember-cli
 - bower install
 - npm install
 - ember build
Run Code Online (Sandbox Code Playgroud)

好吧,这一切似乎进展顺利,直到它完成了这ember build一步.我收到一个错误:

this._handle.open(options.fd)

Error: EINVAL, Invalid argument
      at new Socket (net.js:156:18)
      at process.stdin (node.js:664:19)
      at ..... ember-cli\bin\ember:28:25
Run Code Online (Sandbox Code Playgroud)

搜索我发现此链接与Grunt https://github.com/TryGhost/Ghost/pull/3608相同的问题 那么,我如何在Ember CLI中禁用stdin?我可以做任何方式,或任何解决方法,以便我可以部署应用程序?

我正在尝试在Web服务器上进行构建过程,并且这在Azure上不起作用.有没有人有Azure的经验?非常感谢!

UPDATE

请下面由Felix Rieseberg或Justin Niessner发布的两种方法之一.谢谢你们的支持和调查!

azure web-deployment ember.js ember-cli

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

Ember测试:您已打开测试模式,该模式禁用了运行循环的自动运行

我正在尝试编写一个简单的Ember集成测试,并继续获得令人沮丧的运行循环错误,尽管使用Ember.run.我有一个噩梦,试图让这个工作,如果有人可以帮助我,我会非常感激.具体来说,我可以看到测试登录并开始加载下一页(应该如此),但是一旦测试完成,我就会收到该错误.这是关于第二次测试,第一次测试(因为我认为没有任何异步).

import Ember from 'ember';
import startApp from 'jobs-tuftsdaily/tests/helpers/start-app';
import exists from 'jobs-tuftsdaily/tests/helpers/start-app';

var App;

module('Integration - Landing Page', {
    setup: function() {
        App = startApp();
    },
    teardown: function() {
       Ember.run(App, 'destroy');
    }
});

test('Should load content', function() {
  visit('/').then(function() {
    ok(exists("*"), "Found HTML!");
    ok(exists('label:eq(4)'), "Slug label on page");
  });
});

test('Should sign in test user', function() {
  Ember.run(function() {
    visit('/').andThen(function() {
      return fillIn("input[name=email]", "test@test.com");
    }).andThen(function() {
      return fillIn("input[type=password]", "password");
    }).andThen(function() {
      return click("button");
    }).andThen(function() {
      ok(1, "stupid …
Run Code Online (Sandbox Code Playgroud)

integration-testing ember.js ember-testing ember-cli ember-qunit

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

如何在ember-cli Brocfile.js中执行post build钩子?

我有一个构建到dist/目录的ember-cli项目.我已将应用程序配置为处理dist/目录中的资产,并将历史记录设置为使用哈希而不是pushState.这允许我将sym链接index.html到根.理由是将项目推送到gh-pagesGitHub上需要root index.html和ember应用程序要求路由绝对不是相对的(AFAIK).但是,GitHub不会遵循sym-links并需要输出的副本index.html.这有效,现在我有2个构建步骤(ember buildcp dist/index.html ./index.html).

如何在完成构建后告诉我Brocfile.js复制输出的index.html文件?

一点回溯历史:我正在开发一个ember-cli插件.我在GitHub上托管它.我需要提供一个演示站点.gh-pages是举办演示网站的正确位置.所以我在gh-pages分支中创建了一个ember-cli应用程序.我无法设置输出文件夹,./因为ember构建将rm -rf输出目录销毁源.所以必须如此dist/.我无法使用,<meta http-equiv="Refresh"...因为Ember在开始时陷入了路径和崩溃.所以我的解决方案是将sym-link/copy更新index.html到更高级别并更改ember的配置以将dist/目录添加到资源并将路由设置为hash而不是pushState.

我目前有一个deply.sh脚本可以做到这一点,但我想知道是否有一种方法使用西兰花这个?

ember.js ember-cli broccolijs

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

为Qunit设置Ember-cli的全局超时

我找不到任何记录为ember-cli设置QUnit的全局超时的地方.

我找到了QUnit的文档:https://api.qunitjs.com/QUnit.config/

testTimeout(默认值:undefined)类型:Number指定全局超时(以毫秒为单位),之后所有测试都将失败并显示相应的消息.当异步测试未完成时有用,以防止testrunner卡住.设置为高,例如30000(30秒),以避免慢速测试意外超时.

我能够在\node_modules\ember-cli-qunit\vendor\ember-cli-qunit\qunit-configuration.js中更改此内容,这可以按预期工作.

但是,我们不会将node_modules检入源代码控制,因此在此更改此值对我没有任何好处.

我在这里不知所措,我应该在ember-cli中进行全局测试超时.

ember-cli ember-qunit

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

在Ember中按ID获取元素

我正在运行两个ember应用程序.一个有以下组件:

import Ember from 'ember';

export default Ember.Component.extend({
 tagName: 'a',

 click: function() {
  Ember.$('#wrapper').toggleClass('toggled');
 }
});
Run Code Online (Sandbox Code Playgroud)

而另一个,有这个:

import Ember from 'ember';

export default Ember.Component.extend({
 tagName: 'a',

 click: function() {
  this.$('#wrapper').toggleClass('toggled');
 }
});
Run Code Online (Sandbox Code Playgroud)

我在这里无法理解的是为什么在一个应用程序中我使用ID选择元素,而在另一个应用程序Ember.$('#wrapper')中使用this.$('#wrapper').

这是关于什么的?灰烬版?

UPDATE

我很困惑,因为两个组件是相同的:

{{#show-menu}}
    <i class="fa fa-bars"></i>`
{{/show-menu}}`
Run Code Online (Sandbox Code Playgroud)

它们都是用于隐藏侧边栏div的汉堡菜单,而且#wrapper是外部元素.

既然在这两种情况下#wrapper都是外在元素,那不应该只是第一个案例工作@Gaurav和@Kevin Jhangiani?

ember.js ember-data ember-cli

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

我如何将供应商的JavaScript添加到ember-cli 2.2

这可能是一个愚蠢的问题,源于不熟悉.我正在使用Ember-cli v2.2重写以前在Ember 2.3中使用Ember 1.7的项目

现在,在旧项目中,有一些库被手动包含在index.html文件中,放在scripts目录中然后编译.例如,假设我要包含的JS资产是offline.js.

据我所知,Ember-cli使用Bower,可用于安装bower组件,如Bootstrap或moment.js等.那个自定义JS怎么样?我把文件放在offline.js中,包含在index.html中,但是没有做任何事情.

我认为我根本不了解如何添加/导入供应商资产; 如何添加,比如说offline.js到项目并让它在整个应用程序中可用?

ember.js ember-cli

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