Ember-cli插件依赖



Ember-CLI 1.13.8

我有麻烦加载一个插件,我刚刚创建到一个单独的测试应用程序。(这是我的第一个插件。)

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

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

npm已经在node_modules下创建了链接。

插件也有一个较低的依赖。我在某个地方读到,adddon dir中的主要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 serve…

    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运行蓝图:

$ ember g ember-cli-foo

ember回答说:"正在安装ember-cli-foo"。然而,当我运行ember serve时,我得到同样的错误,没有找到依赖关系,不管我给它的路径。我发现上面提示的页面和我开始的页面是一样的。

执行ember install ember-cli-foo仍然会导致一个抱怨,即无法在npm的服务器上找到包。

更新二

我删除了应用程序,重新开始:

$ 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

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

相关内容

  • 没有找到相关文章

最新更新