如何包含本地javascript im ember-cli应用程序

时间:2014-07-13 09:05:07

标签: ember-cli

我的应用程序中有一个本地javascript,我希望将其包含在我的ember-cli应用程序中。

它被称为carrotsearch.foamtree.js

为了将它包括在内,我把它放在vendor \ foamtree \ carrotsearch.foamtree下 在我写的app.js中

import CarrotSearchFoamTree from 'foamtree/carrotsearch.foamtree'

问题是我收到错误

  

===== 1 JSHint错误

     

构建失败。 ENOENT,没有这样的文件或目录   'C:\用户\ davidga \桌面\余烬\次世代\ TMP \ tree_merger-tmp_dest_dir-37cYqLzL.tmp \ foamtree \ carrotsearch.foamtree.js'

     

文件:foamtree / carrotsearch.foamtree.js错误:ENOENT,没有这样的文件或目录C:\ Users \ davidga \ Desktop \ ember \ nextgen \ tmp \ tree_merger -tmp_dest_dir-37cYqLzL.tmp \ foamtree \ carrotsearch.foamtree。 JS'

     

在addModule的Object.fs.statSync(fs.js:689:18)   (C:\ Users \用户davidga \桌面\余烬\次世代\ node_modules \余烬-CLI \无   de_modules \ broccoli-es6-concatenator \ index.js:83:46)addModule   (C:\ Users \用户davidga \桌面\余烬\次世代\ node_modules \余烬-CLI \无   de_modules \ broccoli-es6-concatenator \ index.js:126:9)at   C:\ Users \用户davidga \桌面\烬\次世代\ node_modules \烬-CLI \ node_modules \   broccoli-es6-concatenator \ index.js:59:7在tryCatch   (C:\ Users \用户davidga \桌面\余烬\次世代\ node_modules \余烬-CLI \点头   e_modules \ rsvp \ dist \ commonjs \ rsvp-internal.js:163:16)at   invokeCallback   (C:\ Users \用户davidga \桌面\余烬\次世代\ node_modules \余烬-C   li \ node_modules \ rsvp \ dist \ commonjs \ rsvp-internal.js:172:17)at   发布   (C:\ Users \用户davidga \桌面\余烬\次世代\ node_modules \余烬-CLI \节点   _modules \ rsvp \ dist \ commonjs \ rsvp-internal.js:150:13)在flush(C:\ Users \ davidga \ Desktop \ ember \ nextgen \ node_modules \ ember-cli \ node_m)   odules \ rsvp \ dist \ commonjs \ rsvp \ asap.js:51:9)at   process._tickCallback(node.js:419:13)

我认为问题可能与凉亭有关,所以我按照以下帖子how to include a private local file in javascript project using bower

问题在于两者都没有 “foamtree”:“foamtree / carrotsearch.foamtree.js”

也不是

“foamtree”:“vendor / foamtree / carrotsearch.foamtree.js”

作品。

我该怎么办?

谢谢, 大卫

2 个答案:

答案 0 :(得分:2)

我找到了答案。

在brocfile.js中我们可以添加一行

app.import('vendor/foamtree/carrotsearch.foamtree.js')

我不知道这是否是最佳的灵气,但它有效

更新

此解决方案在ember-cli文档中说明

http://iamstef.net/ember-cli/#managing-dependencies

答案 1 :(得分:0)

如果您不需要在vendor.js文件中缩小它们,可以将它们放在public/js中,然后将其作为普通脚本文件包含在app/index.html中。我对像moment.js这样的库使用这种方法。

在构建期间,public文件夹会直接复制到您的站点根目录。