2017-12-06 7 views
0

私は周囲のフォルダ内これらのJavascriptファイルを*インポートできないのはなぜですか?

  1. basePerimeter.js
  2. byePerimeter.js
  3. secretPerimeter.js

私のインポートコード、これらのファイルをインポートしようとしている:

import * as perimeters from '../perimeters' 

ベースピクセル値.js

import { Perimeter } from 'vue-kindergarten'; 

export default class BasePerimeter extends Perimeter { 
    isAdmin() { 
    return this.child && this.child.role === 'admin'; 
    } 
} 

byePerimeter.js

import basePerimeter from './basePerimeter'; 

export default new basePerimeter({ 
    purpose: 'bye', 
    govern: {  
    'can route':() => true, 
    'can viewParagraph': function() { 
     return this.isAdmin(); 
    }, 
    }, 
}); 

secretPerimeter.js

import basePerimeter from './basePerimeter'; 

export default new basePerimeter({ 
    purpose: 'secret', 
    govern: { 
    'can route': function() { 
     return this.isAdmin(); 
    }, 
    }, 
}); 

が、私は個別にそれをインポートする場合、それは動作します。このよう

私はこのためのコードの*経由でインポートする必要が
import basePerimeter from '../perimeters/basePerimeter' 

ERROR in ./src/router/index.js 
Module not found: Error: Can't resolve '../perimeters' in 'E:\my\vue\instance\src\router' 
@ ./src/router/index.js 13:0-44 
@ ./src/main.js 
@ multi ./build/dev-client ./src/main.js 
+1

可能な複製(https://stackoverflow.com/questions/29722270/import-modules-from-files-in-directory) – Phil

答えて

0

私はしません。それはなぜこのエラーを投げている

router.beforeEach((to, from, next) => { 
    const perimeter = perimeters[`${to.name}Perimeter`]; 
    if (perimeter) { 
    const sandbox = createSandbox(child(store), { 
     perimeters: [ 
     perimeter, 
     ], 
    }); 
    if (!sandbox.isAllowed('route')) { 
     return next('/'); 
    } 
    } 
    return next(); 
}); 

ここで何が起こっているのか知っていますが、index.jsファイルを追加し、必要なファイルをインポートすることで問題が解決しました。

index.js

import byePerimeter from './byePerimeter' 
import secretPerimeter from './secretPerimeter' 

export { 
    byePerimeter, 
    secretPerimeter 
} 
[ディレクトリ内のファイルからのインポートモジュール]の
関連する問題