EmberJS 2.15.1 找不到模块“fullcalendar”

EmberJS 2.15.1 Could not find module `fullcalendar`

所以我最近将我的应用程序更新到 Ember 2.15.1,我正试图将所有内容从 Bower 切换到 NPM。我一直在尝试让 fullcalendar 合作,但运气不佳(最后一个也切换了)。认为这可能是缓存问题,因此 NPM/Bower 缓存并重新安装了 NPM。下面是错误和导入代码。

我在日历组件的顶部有 import 'fullcalendar';

Uncaught Error: Could not find module `fullcalendar` imported from `name/components/calendar`
    at missingModule (loader.js:247)
    at findModule (loader.js:258)
    at Module.findDeps (loader.js:168)
    at findModule (loader.js:262)
    at requireModule (loader.js:24)
    at Class._extractDefaultExport (index.js:389)
    at Class.resolveOther (index.js:109)
    at Class.superWrapper [as resolveOther] (ember-utils.js:423)
    at Class.resolve (resolver.js:164)
    at resolve (container.js:873)

删除导入后,我收到标准 fullCalendar is not a function 错误。 Removing/adding import $ from 'jquery'; 不会改变其中任何一个。 这是它出错的部分代码,尽管删除它只是向下移动到下一个提到的 fullCalendar。

 didInsertElement: function(){
      $('.sample-calendar').fullCalendar({
        header: {
          left: '',
          center: '',
          right: 'title prev,next'
        },
        events: [],
        theme: true,
        aspectRatio: 0
      });
    },

从 ember-cli-build.

导入
app.import('node_modules/fullcalendar/dist/fullcalendar.min.js');
app.import('node_modules/fullcalendar/dist/fullcalendar.min.css');
app.import('node_modules/fullcalendar/dist/plugins/gcal.min.js');

然后是我的 package.json.

"devDependencies": {
    "broccoli-asset-rev": "^2.4.5",
    "ember-ajax": "^3.0.0",
    "ember-cli": "~2.15.1",
    "ember-cli-app-version": "^3.0.0",
    "ember-cli-babel": "^6.3.0",
    "ember-cli-datepicker": "wesm87/ember-datepicker#master",
    "ember-cli-dependency-checker": "^2.0.0",
    "ember-cli-eslint": "^4.0.0",
    "ember-cli-htmlbars": "^2.0.1",
    "ember-cli-htmlbars-inline-precompile": "^1.0.0",
    "ember-cli-inject-live-reload": "^1.4.1",
    "ember-cli-moment-shim": "~3.5.0",
    "ember-cli-qunit": "^4.0.0",
    "ember-cli-shims": "^1.1.0",
    "ember-cli-sri": "^2.1.0",
    "ember-cli-uglify": "^1.2.0",
    "ember-data": "~2.15.0",
    "ember-export-application-global": "^2.0.0",
    "ember-fetch": "3.4.0",
    "ember-load-initializers": "^1.0.0",
    "ember-moment": "~7.5.0",
    "ember-resolver": "^4.0.0",
    "ember-source": "~2.15.0",
    "eslint-plugin-ember": "~4.1.2",
    "fullcalendar": "^4.0.0-alpha.4",
    "loader.js": "^4.2.3",
    "pikaday": "~1.4.0",
  },

有一个ember组件'ember-fulcalendar': https://github.com/scoutforpets/ember-fullcalendar/

它在package.json中有以下内容: "fullcalendar": "^3.6.0", "fullcalendar-scheduler": "^1.8.0"

您可以切换到使用该组件或查看该组件是如何工作的。

要通过导入解析您的第三方库,ember 需要供应商 shim。你可以查看 here 只是 运行

ember generate vendor-shim fullcalendar

将供应商 shim 导入到您的 ember-cli-build,最后导入完整日历。 顺便说一下,full calendar 有一个包装器。