ES6 导入/导出语法困难
Difficulty with ES6 import / export syntax
我目前的目录结构如下,其中+表示文件夹:
+ middleware
- index.js
+ tracking
- index.js
+ googleAnalytics
- index.js
- logPageView.js
- trackPanos.js
+ mixpanelAnalytics
- index.js
- trackUser.js
- index.js
googleAnalytics
和 mixPanel
目录中最低级别的index.js
文件如下所示:
--/middleware/tracking/googleAnalytics/index.js
import {logPageView} from './logPageView';
import {trackSignup} from './trackSignup';
export const googleAnalyticsMiddleware = [logPageView, trackSignup];
--/middleware/tracking/googleAnalytics/index.js
import {trackPanos} from './trackPanos';
export const mixpanelAnalyticsMiddleware = [trackPanos];
出于某种原因,我能够通过直接查找相关文件路径来成功导入内容。以下是根索引.js:
--/index.js
import {mixpanelAnalyticsMiddleware} from './middleware/tracking/mixpanelAnalytics';
import {googleAnalyticsMiddleware} from './middleware/tracking/googleAnalytics';
// This works! But notice how deep I have to dig.
理想情况下,我想要这样的东西:
// This does not work!
--/index.js
import * from './middleware';
--/middleware/index.js
export * from './tracking';
--/middleware/tracking/index.js
export * from './mixpanelAnalyticsMiddleware';
export * from './googleAnalyticsMiddleware';
您应该使用 import * as xxx
语法。
所以,当你有
export const googleAnalyticsMiddleware = [logPageView, trackSignup];
export const mixpanelAnalyticsMiddleware = [trackPanos];
在您正在导入的 js 文件中,它看起来像
import * as Middleware from './middleware/file/path';
// ...
Middleware.googleAnalyticsMiddleware.doSomething();
Middleware.mixpanelAnalyticsMiddleware.doSomething();
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 如何将JSON数据导入我的ejs模板
- 如何将不可变的js导入angular 2(alpha)
- "未捕获的语法错误:意外的令牌导入"当将momentjs与ASP5/MVC6一起使用时
- ES6 导入/导出语法困难
- es2015 模块语法,如何导入项目目录之外的文件
- 使用 ES6 导入 JSNLog 的正确语法是什么?
- Nodejs 导入失败并出现语法错误
- ES6 语法导入电子(需要)
- ES6 导入语法与 Angular 1.5 UI 路由器
- 哪些浏览器支持ECMAScript 6的导入和导出语法
- 导入语法在webpack中不起作用
- 语法错误:“导入”和“导出”可能仅与“sourceType: module” - Gulp 一起出现
- “.import"语句(用于在JS中导入Qml类型)失败,出现语法错误
- 未捕获的语法错误:`意外的令牌导入
- ECMASCRIPT 6 - 使用带有 JavaScript 导入语法的括号
- Webpack Babel 加载错误 - 未捕获的语法错误:意外的令牌导入
- 如何设置节点环境以运行涉及语法的 ES6 代码,例如“导入..从..`.
- 在使用es2015语法导入模块并将Babel编译为es5时出错
- 使用ES6语法和动态路径导入模块