在ember-cli文件夹结构中,我应该在哪里放置图像?
/app
/bower_components
/config
/dist
/node_modules
/public
/tests
/vendor
Run Code Online (Sandbox Code Playgroud)
我正在使用ember-cli版本1.13.1.
我将非常精确地使我的Angular 2问题.
我正在使用:
Angular 2,angular-cli:1.0.0-beta.15,(webpack building)节点:6.4.0,os:linux x64
2.我想要实现的目标:
我想以一种方式构建我的项目,在构建之后(ng build project-name)我获得了我的Angular 2应用程序的静态文件,我可以直接从chrome运行而不使用ng服务或节点服务器.我只想双击index.html并在本地运行应用程序.
3.同时,当我双击生成的index.html时,我在chrome浏览器控制台输出中获得的是:
file:///inline.js无法加载资源:net :: ERR_FILE_NOT_FOUND文件:///styles.b52d2076048963e7cbfd.bundle.js无法加载资源:net :: ERR_FILE_NOT_FOUND文件:///main.c45bb457f14bdc0f5b96.bundle.js无法加载资源:net :: ERR_FILE_NOT_FOUND文件:///favicon.ico无法加载资源:net :: ERR_FILE_NOT_FOUND
据我所知,这与路径有关.构建和捆绑的应用程序找不到正确的路径.所以我的问题是我应该在哪里以及如何更改我的应用程序或任何构建配置文件中的路径,以便我的应用程序像我希望的那样以我在第2点中描述的方式工作
提前感谢您对该主题的直接和完整答案,因为其他主题并未解释该主题的全部范围.
我使用Cloud9 IDE,它只暴露端口80并阻止LiveReload连接.我收到此错误:
GET https://myapp.c9.io:35729/livereload.js?snipver=1 net :: ERR_CONNECTION_REFUSED
除非有人知道修复,否则我只想关闭/禁用它.
我正在运行Ember-cli,我可以在ember-cli/lib/tasks/serve.js中看到任务,我已经对它进行了评论,但它没有做到这一点:
/*
var liveReloadServer = new LiveReloadServer({
ui: this.ui,
analytics: this.analytics,
watcher: watcher
});
*/
Run Code Online (Sandbox Code Playgroud)
它被埋在足够的地方,我害怕npm删除它,因为我认为这只会产生更大的问题.
如何将环境变量从bashrc传递到Ember CLI.我想象你需要条带api键或pusher api-keys的情况,你可以在bashrc中的环境变量中使用它们.如何将api-key传递给Ember CLI.
我尝试process.env在brocfile.js和中使用Node.js environment.js,但是当我尝试在Ember JS控制器中访问它时,属性为null.
在我的environment.js文件中,我添加了,
APP: { apiKey: process.env.KEY }
Run Code Online (Sandbox Code Playgroud)
在我的Ember JS控制器中,我尝试访问它:
import config from '../config/environment';
Run Code Online (Sandbox Code Playgroud)
并设置lkey如下所示的控制器属性,这不起作用:
lkey: config.App.KEY
Run Code Online (Sandbox Code Playgroud)
接下来brocfile.js,我补充说:
var limaKey = process.env.Key;
var app = new EmberApp({key: limaKey});
Run Code Online (Sandbox Code Playgroud)
这仍然无效.
我有一个使用localStorage的网络应用程序.现在我们想通过iframe在其他(第三方)网站上嵌入此网络应用.我们希望提供类似于youtube的iframe嵌入,以便其他网站可以将我们的网络应用嵌入到iframe中.在功能上它就像它不会被嵌入一样.但它不起作用.Chrome会输出错误消息:
Uncaught SecurityError: Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
Run Code Online (Sandbox Code Playgroud)
我只是做了以下检查(在iframe中):
if (typeof window.localStorage !== 'undefined') {
// SETUP SESSION, AUHT, LOCALE, SETTINGS ETC
} else {
// PROVIDE FEEDBACK TO THE USER
}
Run Code Online (Sandbox Code Playgroud)
我在Chrome中检查了我的安全设置,就像在另一个Stackoverflow线程中所描述的那样,但它不起作用.在不需要调整大多数现代浏览器的(默认)安全设置的情况下,是否可以进行嵌入更改?
为了提供更多信息,我们使用Ember-CLI作为我们的Web应用程序并打开了CSP(有关Ember-CLI CSP的更多信息).CSP会导致我们的网络应用程序出现安全错误吗?
iframe google-chrome ember.js content-security-policy ember-cli
我正试图从一些旧的本土构建工具迁移到ember-cli.我们的应用程序非常庞大,实际上分为几个ember.js单页应用程序(例如索引,管理,报告等),它们共享一组通用的工具和组件.
我试图弄清楚是否可以使用ember-cli,如果是这样,我该怎么做?我看到有人谈论豆荚,其他人谈论插件和另一组人谈论私人凉亭回购.我试图找出每一个的信息,但似乎它有点变化.
我对目录结构或细节并不挑剔.但我想这就是我想象的方式:
[app]
- [controllers]
- [models]
- [routes]
- [views]
- index.html
[admin]
- [controllers]
- [models]
- [routes]
- [views]
- index.html
[reports]
- [controllers]
- [models]
- [routes]
- [views]
- index.html
[shared_code]
- [components]
- [utils]
Brocfile.js
etc
Run Code Online (Sandbox Code Playgroud)
任何建议将不胜感激.即使只是一个起点也会非常有帮助.
编辑(2015年1月28日):
Ember-cli插件现在更加稳定,可用于此应用.但恕我直言,他们仍然有一些这个用例的缺点.他们创建更多的锅炉板,因为您仍然需要将单个模型/控制器/组件/等导入您的应用程序空间.请参阅此处插件下的"组件"部分:http://www.ember-cli.com/#managing-addon-dependencies
还有一个有趣的RFC可以为ember和ember-cli提供类似支持的引擎,以满足这一要求:https://github.com/emberjs/rfcs/pull/10
编辑(2015年10月3日):
Engines RFC有一个新的更新,对许多用户来说看起来很有希望.但是,我们仍然需要多个实际上不同的应用程序.我工作的另一位开发人员花了一些时间来清除如何最好地使用这种模式的细节.
我已经记录了这个并在回购中创建了演示:https://github.com/workmanw/ember-multi-app
我想重新打开Ember或Ember Data框架类.使用Ember CLI,在哪里放置这些以使它们获得初始化属性的正确位置?这是我想做的事情的一个例子:
import DS from 'ember-data';
DS.Model.reopen({
rollback: function() {
this._super();
// do some additional stuff
}
});
Run Code Online (Sandbox Code Playgroud) 上下文:我对我的ember-cli应用程序进行了验收测试,测试在Chrome中运行得很好.然而,在phantomjs中,我的测试失败了 - 用户界面不会以同样的方式创建,我正在尝试找出原因.(我认为测试因https://github.com/ember-cli/ember-cli/issues/1763而被打破,但是如何调试的一般问题仍然存在)
在Chrome中,我可以在我的测试中使用标准调试工具,一切都很好 - 但是在phantomjs中,我无法使用调试器来实现它.我也没有看到console.log()消息显示在输出中 - 我得到的是我的终端窗口中的测试结果列表.
我可以通过编写类似的东西来获取诊断信息
equal(true, false, "This is a log message");
Run Code Online (Sandbox Code Playgroud)
然后我得到消息作为失败的断言的详细信息,或者我可以尝试找出DOM中的内容
equal(true, false, document.getElementsByClassName("my-class".innerHTML);
Run Code Online (Sandbox Code Playgroud)
但是这两个:停止测试进一步,b:只让我记录测试本身的信息,而不是我的应用程序.
有没有办法在"ember test"之外运行我的测试,或者某种方式附加到正在运行的测试过程?或者,有没有办法让console.log()消息显示在输出中?
Ember-cli ember server在窗户上建造得非常慢.
Build successful - 13126ms.
Slowest Trees | Total
-------------------------------+----------------
TreeMerger (vendor) | 3154ms
TreeMerger (stylesAndVendor) | 2051ms
TreeMerger (appAndDependencies) | 1914ms
StaticCompiler | 1791ms
Run Code Online (Sandbox Code Playgroud)
这与在linux盒子上不到1秒的同一项目构建形成鲜明对比.
我使用Ember 1.13.7和Ember Data 1.13.8,默认情况下使用JSON-API标准格式化发送到API和从API接收的有效负载.
我想使用Ember Data的内置错误处理,以便向用户显示红色"错误"表单字段.我根据JSON-API标准格式化了我的API错误响应,例如
{"errors":[
{
"title":"The included.1.attributes.street name field is required.",
"code":"API_ERR",
"status":"400",
}
]}
Run Code Online (Sandbox Code Playgroud)
当我尝试保存我的模型时,正确执行错误回调.如果我在Ember Inspector中查看,我可以看到模型的"isError"值设置为true但我看不出Ember Data应该如何知道模型中哪个字段是错误状态的字段?我从官方JSON-API页面(http://jsonapi.org/format/#errors)中看到,您可以在错误响应中包含"源"对象:
source:包含对错误源的引用的对象,可选地包括以下任何成员:
指针:请求文档中关联实体的JSON指针[RFC6901] [例如,主数据对象的"/ data",或特定属性的"/ data/attributes/title"].
parameter:一个字符串,指示导致错误的查询参数.
但这是我应该做的,以便告诉Ember Data哪些字段应该标记为处于错误状态?
如果有人能帮助阐明这一点,我将不胜感激.
谢谢.
ember-cli ×10
ember.js ×8
javascript ×2
angular ×1
angular-cli ×1
ember-data ×1
ember-router ×1
iframe ×1
json-api ×1
livereload ×1
phantomjs ×1
webpack ×1
windows ×1