【问题标题】:es6 importing a class in a classes6 在一个类中导入一个类
【发布时间】:2019-08-21 12:23:16
【问题描述】:

在 index.js 我有。

import  PageLoader from './pageLoader';
$(function() {
  const pageLoader = new PageLoader();
});

和 pageloader.js

class PageLoader{
   constructor(){
    {
       this.customer = null;
       this.data = [];
       this.init();
    }  
   } 
    init() { }
 }
module.exports = PageLoader;

一切正常。但是如果我从页面加载器中导入一个类。

import  Customer from './customer';
class PageLoader{
   constructor(){
    {
       this.customer = null;
       this.data = [];
       this.init();
    }  
   } 
    init() { }
 }
module.exports = PageLoader;

和customer.js

class Customer{
    constructor(){
       this.data = [];
       this.init();
    } 
    init() { 

    }
 }
 module.exports = Customer;

我收到

./src/index.js 10:23-33 "export 'default' 中的警告(导入为 在“./pageLoader”中找不到“PageLoader”

【问题讨论】:

  • 你为什么要导入一个类却从不使用它?
  • 我正在使用它只是不想用额外的代码混淆示例
  • 好的,但这只是一个警告——代码真的有效吗?
  • 不,它没有。
  • 你正在混合 commonjs 和 es6 模块。 modules.export 来自 commonjs(nodejs),import 来自 es6 modules(es6 js)

标签: javascript webpack ecmascript-6 es6-modules es6-class


【解决方案1】:
module.exports

语法来自Modules(主要用于NodeJs - 它的对应物是require而不是导入)。如果要使用import,则需要使用export子句,即来自es6 modules

export default PageLoader

你也可以做命名导出

export { PageLoader };

然后

import { PageLoader } from './pageLoader'; 

Further reading

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-12
    • 2017-05-04
    • 2016-11-05
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    相关资源
    最近更新 更多