ember-cli addon bower依赖

时间:2015-10-14 23:15:44

标签: npm bower ember-cli add-on

Ember-CLI 1.13.8

我无法将刚创建的插件加载到单独的测试应用中。 (这是我的第一个插件。)

因为我在本地开发我使用了npm link,所以:

    $ cd ember-cli-foo
    $ npm link
    $ cd ../test-app
    $ npm link ember-cli-foo

npm在node_modules下创建了链接。

插件也有凉亭依赖。我在某处读到了插件目录中的主要index.js应该是这样的:

    /* jshint node: true */
    'use strict';

    module.exports = {
      name: 'ember-cli-foo',

      included: function(app) {
        this._super.included(app);
        app.import(app.bowerDirectory + "/foo/web/foo.js");
      }
    };

蓝图:

    module.exports = {
      description: ""

      afterInstall: function(options) {
        return addBowerPackageToProject("foo");
      }
    };

但是当我尝试运行ember服务时......

    Path or pattern "bower_components/foo/web/foo.js" did not match any files

意识到我可能需要指向插件的 bower_components,我尝试在导入路径前加上:

    app.import("node_modules/ember-cli-foo/" + app.bowerDirectory + "/foo/web/foo.js");

但那只是让我:

    Path or pattern "node_modules/ember-cli-foo/bower_components/foo/web/foo.js" did not match any files

但这条道路是正确的。然后我尝试了:

    $ ember install ember-cli-foo

......产生:

    Registry returned 404 for GET on https://registry.npmjs.org/ember-cli-foo

谁能告诉我我错过了什么?如何使用本地npm链接将插件安装到测试应用程序中?

更新

也许我离我更近了。我发现这个提示是为了运行蓝图:

$ ember g ember-cli-foo

事实上,恩贝尔回答说,“安装ember-cli-foo”。但是,当我运行ember serve时,我得到了关于没有找到依赖关系的相同错误,无论我提供它的路径。我找到上述提示的页面与我开始时的内容相同。

执行ember install ember-cli-foo仍会导致投诉无法在npm的服务器上找到该软件包。

更新II

我删除了该应用并重新开始:

$ ember new test
$ cd test
$ npm link ember-cli-foo
$ ember g ember-cli-foo
$ ember serve
...
ENOENT, no such file or directory '/home/bally/dev/apps/test/tmp/concat_with_maps-input_base_path-RopBTsxP.tmp/0/bower_components/foo/web/foo.js'

确实,tmp是空的。

$ ember install ember-cli-foo

同样的抱怨 - 试图远程获取它。

1 个答案:

答案 0 :(得分:0)

在本地进行插件开发时,您必须在conusming应用bower.json引用foo.js中手动创建条目。不幸的是,在github或npm上存在插件后,你才能ember install ember-cli-foo