出于某种原因不让我在 Ember js 中导入模块

Not letting me import modules in Ember js for some reason or an another

我刚刚开始了一个小的 Ember 项目,只是为了让我自己熟悉它,这让我现在很头疼,因为它拒绝与 npm 导入打交道。

所以我有一个组件,我正在尝试将 axios 导入其中,但它一直在说 Could not find module npm:axios,我这辈子都想不通为什么。

这是我的代码

import Component from '@ember/component';
import axios from 'npm:axios';

import emailValidate from '../validators/email';

export default Component.extend({
  isValidEmail: false,
  actions: {
    onChange: function(value) {
      this.set('isValidEmail', emailValidate(value));

      if (emailValidate(value)) {

        axios.get('http://localhost:3000/users/').then(function (response) {
      // handle success
      console.log(response);
    })
  }
  },

 }
});

我也试过了import axios from 'axios'

你在package.json中有axios条目吗?您首先必须通过 npm install axios --save 在您的 node_modules 中安装 axios。这将进入 package.json 然后重新启动服务器。这应该可以解决您的问题。 P.S:不确定为什么要像 'npm:axios' 那样导入 从 'axios' 导入 axios; 希望能解决您的问题。

为了从 ember 应用中的 npm 包导入,The Octane Edition of Ember recommends to use ember-auto-import

为此,在 ember 应用程序的根目录下,运行:

ember install ember-auto-import

然后,在通过 npm install -D axiosyarn add -D axios 将 axios 添加到您的 package.json 后,您将能够使用

导入它
import axios from 'axios';
// import axios from 'npm:axios'; this import is wrong