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

node.js es6使用index.js导出/导入,node.js,ecmascript-6,Node.js,Ecmascript 6,我有以下文件夹结构 src/ index.js lib/ test.js dist/ examples/ example.js src/lib/test.js export default class Test {}.. class Test { // ... } module.exports = { Test }; export default class Test {} src/index.js import App from './lib/test.js'

我有以下文件夹结构

src/
  index.js
  lib/
    test.js
dist/
examples/
  example.js
src/lib/test.js

export default class Test {}..
class Test {
  // ...
}
module.exports = { Test };
export default class Test {}
src/index.js

import App from './lib/test.js'
export default App
const { Test: App } = require('./lib/test.js');
export {default as App} from './lib/test.js'
examples/example.js

import {App} from './../..'

=> App is undefined
const { App } = require('../src');
import {App} from '../'
如何将我的index.js设置为入口点并在那里导出我的应用程序

编辑:
我使用babel节点作为transpiler,并从

nodemon test.js --exec babel-node --presets es2015,stage-2 --watch ./../..

节点本机不支持
导入
导出

如果您想使用这种语法,您需要使用像Babel这样的transpiler

节点方式是使用
module.exports
require()

有关更多信息,请参见此:

更新 在这里:

您不是从导出-而是从导入

也许你的意思是:

import App from './src/lib/test.js';
然后你可以依次导出它

使用普通节点语法,它将是:

src/lib/test.js

export default class Test {}..
class Test {
  // ...
}
module.exports = { Test };
export default class Test {}
src/index.js

import App from './lib/test.js'
export default App
const { Test: App } = require('./lib/test.js');
export {default as App} from './lib/test.js'
examples/example.js

import {App} from './../..'

=> App is undefined
const { App } = require('../src');
import {App} from '../'

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

我只需将src/index.js作为main放在package.json中,然后运行nodemon而不使用watch参数

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

此外,路径应如下所示:

src/lib/test.js

export default class Test {}..
class Test {
  // ...
}
module.exports = { Test };
export default class Test {}
src/index.js

import App from './lib/test.js'
export default App
const { Test: App } = require('./lib/test.js');
export {default as App} from './lib/test.js'
examples/example.js

import {App} from './../..'

=> App is undefined
const { App } = require('../src');
import {App} from '../'

但是OP会得到一个语法错误,不是
未定义的
,不是吗?我正在使用babel节点作为transpiler,以“nodemon test.js--exec babel node--presets es2015,stage-2--watch./....”开始它@咖啡杯如果您首先在问题中包含相关信息,那么回答您的问题会容易得多。我在test.js文件中将导出类更改为“export default”,并将导出更改为。。要从我的index.js中导入测试,现在当我打开console.log(test)时,我可以看到[Function:App]。我如何正确地导出它,以便能够在我的example.js中导入它?我的index.js是import Test from。。。。。和导出默认测试,但在我的example.js中,它仍然是未定义的,应该是“../src”
中的
而不是“../src”
中的
,并且您已经向我们展示了
导出类测试
,但不是默认导出。我认为,
export{default as App}
无论如何都不能有效地执行此操作…?您正在导出默认值,但导入的是命名的导出应用程序-它不存在。@estus谢谢,现在它不再是未定义的了!