2017-07-06 29 views
2

我得到超級表達必須是空或功能,不會反對錯誤,當我運行index.js超表達必須是空或功能,不會反對

我看到另一篇文章here與類似的錯誤信息。但看起來像是有關的反應!

base.js
export default class Base{ 
     constructor(title){ 
      console.log(title); 
     } 
    } 

Class1.js
import * as Base from './base'; 

export default class Class1 extends Base{ 
    constructor(title){ 
     super(title); 
    } 
} 

index.js
import * as Class1 from './class1'; 
'use strict'; 

function check() { 
    var c = new Class1('from Index.js'); 
} 

check(); 

.babelrc

{ 「預置」:[ 「電子S2015" , 「階段1」 ] }

依賴

dependencies": { 
    "babel-cli": "^6.24.1", 
    "babel-eslint": "^7.2.3", 
    "babel-plugin-add-module-exports": "^0.2.1", 
    "babel-plugin-syntax-export-extensions": "^6.13.0", 
    "babel-plugin-transform-runtime": "^6.23.0", 
    "babel-preset-es2015": "^6.24.1", 
    "babel-preset-stage-1": "^6.24.1", 
    "babel-register": "^6.24.1" 
    } 

請幫幫忙!提前致謝 !

回答

4

您正在執行在您的變量中創建名稱空間對象的名稱空間導入(* as …),這些名稱空間對象並非如錯誤消息所示。您將要導入默認出口:

import Base from './base'; 

import Class1 from './class1'; 
1

導入時,要導入的整個js文件,這是一個對象。你只需要從你的js文件導入類。

在使用時只需一類做

import {myMember} from 'my-module'; 

其中進口只是成員稱爲myMember

你這樣做

import * as myModule from 'my-module'; 

其中進口所有的文件作爲myModule對象的子成員的成員。

請參閱Importing in JS(此處爲示例)

相關問題