use*_*567 5 node.js ecmascript-6
我有以下文件夹结构
src/
index.js
lib/
test.js
dist/
examples/
example.js
Run Code Online (Sandbox Code Playgroud)
源代码/库/test.js
export default class Test {}..
Run Code Online (Sandbox Code Playgroud)
源代码/索引.js
import App from './lib/test.js'
export default App
Run Code Online (Sandbox Code Playgroud)
例子/example.js
import {App} from './../..'
=> App is undefined
Run Code Online (Sandbox Code Playgroud)
如何将我的 index.js 设置为入口点并将我的应用程序导出到那里?
编辑:我使用 babel-node 作为转译器并以
nodemon test.js --exec babel-node --presets es2015,stage-2 --watch ./../..
Run Code Online (Sandbox Code Playgroud)
Node 本身不支持and import
。export
如果你想使用该语法,你需要使用像 Babel 这样的转译器。
Node 方式是使用module.exports
和require()
。
请参阅此了解更多信息:
这里:
export {default as App} from './src/lib/test.js'
Run Code Online (Sandbox Code Playgroud)
您不是“从”导出 - 您是从“导入”。
也许你的意思是:
import App from './src/lib/test.js';
Run Code Online (Sandbox Code Playgroud)
然后你可以依次导出它。
使用正常的 Node 语法,它将是:
src/lib/test.js
class Test {
// ...
}
module.exports = { Test };
Run Code Online (Sandbox Code Playgroud)
src/index.js
const { Test: App } = require('./lib/test.js');
Run Code Online (Sandbox Code Playgroud)
示例/example.js
const { App } = require('../src');
Run Code Online (Sandbox Code Playgroud)
另请注意,根据您的目录结构,您的路径不正确:它应该./lib/test.js
代替./src/lib/test.js
和 ../src
代替./../..