Cok*_*aka 10 ember.js lodash ember-cli
有没有人有一个使用Ember-CLI使用LoDash构建的(简单)ember-app项目的工作示例?(例如:我想在我的路由和控制器中使用lodash,_.someLodashFunc).
我没有在网上看到任何关于如何做到这一点的明确,逐步解释的线索/文章.
如果可能的话,使用lodash v3.0.0(我使用的是最新的ember-cli,v0.1.9).
谢谢,拉卡
我发现了如何,你需要生成一个自定义的lodash("lodash modern").使用lodash-cli:https://lodash.com/custom-builds
在命令控制台上输入:lodash modern ...,然后你会得到一个生成的javascript文件:lodash.custom.js
将该文件放在ember-cli项目的"vendor"目录下.
修改Brocfile,添加:
app.import('vendor/lodash.custom.js', {
'lodash': [
'default'
]
});
Run Code Online (Sandbox Code Playgroud)
就是这样......你不必在你的任何js文件中执行"import _ from'loodash'".事实上,不要这样做(你会得到一个错误)._ var很容易获得.
例如,我有一个这样的Route对象:
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
console.log('hohoho: ' + _.chunk(['a', 'b', 'c', 'd'], 2));
return Ember.Object.create({name: 'Raka'});
}
});
Run Code Online (Sandbox Code Playgroud)
我可以看到hohoho:,b,c,当我访问那条路线时,我在javascript控制台中打印出来.
你真的不需要那个lodash-cli.
我试过这种方式(我想更合适):
而已._在路由器/控制器中自动可用.
我对d3做了同样的事情:
名为'd3'的变量可自动使用.
新增相关链接:
您可以使用以下内容:https: //github.com/levanto-financial/ember-lodash 或手动完成.
我没有任何示例,但它应该像修改这3个文件一样简单:
只需添加该行
"lodash": "4.16.4",
Run Code Online (Sandbox Code Playgroud)
到您的命令行dependencies并运行bower install.
或者,您可以通过bower以下方式安装它:
$ bower install lodash --save
Run Code Online (Sandbox Code Playgroud)
为了被Broccoli包括在内:
app.import('bower_components/lodash/lodash.js');
Run Code Online (Sandbox Code Playgroud)
之后添加这个 var app = new EmberApp();
添加行:
"_": true,
Run Code Online (Sandbox Code Playgroud)
在该predef部分的某个地方(如果你不想看到这样的警告_ is undefined).
我没有测试过,但我希望它有帮助:)
您可以使用Bower安装最新的稳定版本.在项目的根目录中,运行:
bower install lodash --save
Run Code Online (Sandbox Code Playgroud)
然后导入通过增加你的这条线就使用Brocolli Brocfile.json后的地方var app = new EmberApp( ...:
app.import('bower_components/lodash/lodash.js');
Run Code Online (Sandbox Code Playgroud)