为啥我不能导入 * 这些 Javascript 文件?

Posted

技术标签:

【中文标题】为啥我不能导入 * 这些 Javascript 文件?【英文标题】:Why can't I import * these Javascript Files?为什么我不能导入 * 这些 Javascript 文件? 【发布时间】:2018-05-19 20:44:15 【问题描述】:

我正在尝试将这些文件导入到 perimeters 文件夹中

    basePerimeter.js byePerimeter.js secretPerimeter.js

我的导入代码:

import * as perimeters from '../perimeters'

basePerimeter.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'

由于这段代码,我需要通过 * 导入:

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

为什么会抛出这个错误:

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

【问题讨论】:

import modules from files in directory的可能重复 【参考方案1】:

我不知道这里发生了什么,但是添加一个 index.js 文件并导入我需要的文件解决了我的问题。

index.js

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

export 
    byePerimeter,
    secretPerimeter

【讨论】:

以上是关于为啥我不能导入 * 这些 Javascript 文件?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我不能在 Javascript 中滚动循环?

为啥这些推文无法使用 Tweetinvi 发布?

为啥我不能在 react native 中导入我的自定义组件

为啥我不能导入 geopandas?

为啥我不能导入我刚刚安装的包?

为啥除了 jnius 我不能导入任何 pyjnius 的东西?