2016-07-27 2 views
3

함수 파일에서 하나의 함수를 가져 오려고합니다. 함수 파일은 다음과 같습니다.개체에서 속성 가져 오기

const Functions = { 
    url(path = '') { 
     path = path.replace(/^\/+/, ''); 
     return `${document.baseURI}/${path}`; 
    }, 

    asset(path = '') { 
     return this.url(path); 
    } 
}; 

export default Functions; 

그런 다음 url 같은 기능을 가져 오십시오.

import {url} from "../Utils/Functions"; 

이렇게하면 browserify에서 브라우저에 다음 오류가 발생합니다. urlFunctions 객체에서와 같이

Uncaught TypeError: (0 , _Functions.url) is not a function

MDN 문서에 따르면,이 가져 오기가 작동합니다.

내가 뭘 잘못하고 있니?

+0

.. '가져 오기 url from "../Utils/Functions"; "당신을 위해 작동합니다 –

답변

3

수행 한 작업 - 개체를 내 보낸 것입니다. 객체를 가져오고 그것의 속성에 액세스 할 필요가있는 경우

:

import Functions from "../Utils/Functions"; 
Functions.url(); 

라는 이름의 수출을 확인하려면 - 당신이 그것을 수출 및 정의하고있는 방식으로 변경해야

function url(path = '') { 
    path = path.replace(/^\/+/, ''); 
    return `${document.baseURI}/${path}`; 
} 

function asset(path = '') { 
    return this.url(path); 
} 

export { url, asset }; 

또는 다른 노트로

export function url(path = '') { 
    path = path.replace(/^\/+/, ''); 
    return `${document.baseURI}/${path}`; 
} 

export function asset(path = '') { 
    return this.url(path); 
} 

: simil 보인다하더라도, destructuring되지 않는다 ar. 표준에서는 ImportsList으로 이름을 지정하고 자체의 의미론을 정의합니다.

참고 : 당신은 '기본 내보내기'를 사용하는 경우

+1

나는 그 소멸이 가져온 객체. – Enijar

+2

@Enijar 것은 그것입니다 - 그것은 약간 비슷해 보이더라도 그것은 파괴되지 않습니다. – zerkms

0

다음 가져 오기가 있어야한다 :

import Functions from "../Utils/Functions"; 

사실, 원하는 '식별자'로만 가져올 수 있습니다. ('기능'뿐만 아니라)