有没有人有一个使用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'
]
});
就是这样......你不必在你的任何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'});
}
});
我可以看到hohoho:,b,c,当我访问那条路线时,我在javascript控制台中打印出来 .
更正
你真的不需要那个lodash-cli .
我试过这种方式(我想更合适):
-
凉亭安装lodash --save
-
在Brocfile.js中,有这一行:app.import('bower_components/lodash/lodash.js');
而已 . _在路由器/控制器中自动可用 .
我对d3做了同样的事情:
-
bower安装d3 --save
-
在Brocfile.js中,有这一行:app.import('bower_components/d3/d3.js');
名为'd3'的变量可自动使用 .
新增相关链接:
-
http://tiku.io/questions/2866484/how-to-include-a-local-javascript-im-ember-cli-application(引用:如果您不需要在vendor.js文件中缩小它们,可以将它们放在public / js中,然后将其作为普通脚本文件包含在app / index.html中 . 我使用此方法像moment.js这样的库 . 在构建期间,公用文件夹会直接复制到您的站点根目录 . )
-
Proper way to access third party libs such as D3 in Ember CLI?
3 回答
你可以使用一些东西:https://github.com/levanto-financial/ember-lodash或手动完成 .
我没有任何示例,但它应该像修改这3个文件一样简单:
bower.json
只需添加该行
到
dependencies
并在命令行中运行bower install
.或者,您可以通过
bower
安装它:Brocfile.js
为了被Broccoli包括在内:
在
var app = new EmberApp();
后添加这个地方.jshint.rc
添加行:
在
predef
部分的某个地方(如果你不想看到像_ is undefined
这样的警告) .我没有测试过,但我希望它有帮助:)
您可以使用Bower安装最新的稳定版本 . 在项目的根目录中,运行:
然后使用Brocolli导入它,在
var app = new EmberApp( ...
之后的Brocfile.json
中添加此行:ember-lodash addon将是最好的宠物 . (https://www.npmjs.com/package/ember-lodash)
安装插件:
ember install ember-lodash
仅包含字符串函数
要包含整个lodash库,