使用module.exports和ES6导出导入
Exporting imports using module.exports and ES6
我正试图将一个函数导入到一个文件中,然后从该文件中导出。这应该很简单,但由于某种原因,我无法让它发挥作用。
search_action.js
function search_actions() {
this.receive_results = function() {
return {
type: 'RECEIVE_RESULTS',
results: results
}
}
}
module.exports = search_actions
index.js
require('es6-promise').polyfill();
var SearchActions = require('./search_actions.js')
var search_actions = new SearchActions()
//console.log(search_actions.receive_results)
export search_actions.receive_results
尽管console.log(search_actions.receive_results)打印了函数,但index.js底部的导出失败,并带有意外的标记。那么,正确的方法是什么呢?
重新导出的最后一行无效:
export search_actions.receive_results
不能在右侧使用foo.bar
引用,因为导出需要一个非限定名称。您可以引用对象声明中的字段并导出:
export default {
search_actions: search_actions.receive_results
}
有关导出语法,请参见规范的15.2.3节。您遇到的问题是导出的x.y
部分,对象或局部变量将解决该部分。
如果你也在使用ES6 import
,你也可以做:
import {receive_results} from 'search_actions';
export default receive_results;
相关文章:
- 可以合并或嵌套ES6导入
- ES6 (ECMAScript 2015) 模块:导入索引.js
- 如何通过在Meteor中导入不同文件中的es6类来正确使用它们
- 如何将es6导入转换为AMD需要
- 如何执行“变量”ES6导入
- 使用 Babel 转译器导入类并调用带有 ES6 模块的静态方法
- 以其他名称导入 ES6 类
- React ES6 导入无状态组件
- 如何导入“;旧的“;ES6中的ES5代码
- ES6模块导入和依赖关系管理
- 如何将javascript ES6 repo编译输出导入其他repo
- 如何使用npm在ES6中导入moment.js
- 使用module.exports和ES6导出导入
- 如何有条件地导入 ES6 模块
- 解构导入ES6的价差
- 正在深层目录中导入ES6模块
- 将现有AMD模块导入ES6模块
- Ember CLI导入ES6文件到Ember - CLI -builds.js
- 不能在React组件中导入ES6模块
- 在Express提供服务的Angular2中导入ES6模块