node.js es6使用index.js导出/导入

时间:2017-07-18 18:50:35

标签: node.js ecmascript-6

我有以下文件夹结构




  src /
 index.js
 LIB /
 test.js
 DIST /
实例/
 example.js
  




的src / LIB / test.js




 <代码>导出默认类Test {} ..&#xA;  
&#xA;&#xA;

src / index.js

&#xA;&#xA;
 从'./lib/test.js'
export默认App&#xA;  
&#xA;&#xA;

examples / example.js导入App

&#xA;&#xA;
 从'./../..'

=>导入{App};应用程序未定义&#xA;  
&#xA;&#xA;

如何将index.js设置为入口点并将我的应用程序导出到那里?

&#xA;& #xA;

编辑:&#xA;我正在使用babel-node作为转发器并使用

&#xA;&#xA;
  nodemon test.js --exec启动它babel-node --presets es2015,stage-2 --watch ./../..

2 个答案:

答案 0 :(得分:0)

Node本身不支持importexport

如果你想使用那种语法,你需要使用像Babel这样的转换器。

节点方式是使用module.exportsrequire()

有关详细信息,请参阅此处:

更新

下面:

export {default as App} from './src/lib/test.js'

您不是从“导出”导出 - 您从中导入。

也许你的意思是:

import App from './src/lib/test.js';

然后你可以依次导出它。

使用正常的Node语法,它将是:

的src / LIB / test.js

class Test {
  // ...
}
module.exports = { Test };

的src / index.js

const { Test: App } = require('./lib/test.js');

实例/ example.js

const { App } = require('../src');

另请注意,根据您的目录结构,您的路径不正确:它应该是./lib/test.js而不是./src/lib/test.js../src而不是./../..

答案 1 :(得分:0)

我只是将src / index.js作为main在package.json中运行,只运行没有watch param的nodemon。

  

默认情况下,nodemon监控当前工作目录。如果要控制该选项,请使用--watch选项添加特定路径

路径也应如下所示:

的src / LIB / test.js

p=open("/var/tmp/input1","r")
q=open("/var/tmp/input2","w")
for line in p:
    m=re.search(r'disk@[a-z](.*)[a-z],',line)
    if m:
       select=m.group(1)
       q.write(select)

的src / index.js

export default class Test {}

实例/ example.js

export {default as App} from './lib/test.js'
相关问题