// Build out our basic SafeString type
function SafeString(string) {
this.string = string;
}
SafeString.prototype.toString = function() {
return "" + this.string;
};
export default SafeString;
Run Code Online (Sandbox Code Playgroud)
我以前从未见过export default
.有没有相同的东西export default
可以更容易理解?
我有以下文件夹结构
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) 我刚刚读完这篇关于 Javascript 模块的文章。我可以理解CommonJS模块是同步加载的,而AMD模块是异步加载的。
我不明白的是,如果我以 CommonJS 格式编写它,模块如何变得神奇地同步,或者如果我以AMD 格式编写它,它如何变得神奇地异步。我的意思是 javascript 甚至没有define
orrequire
关键字。它们只是规范而不是库。
我的意思是模块加载的行为取决于模块加载器,而不是模块的结构。如果是这样的话,为什么要遵循不同类型模块的编码模式呢?
我是否正确地假设 NodeJS 世界中的所有库都是同步加载的,无论它们以什么格式编写。并且浏览器空间中的所有模块都是异步加载的。
如果我的上述假设是正确的,那么为什么还有 UMD 规范?我的意思是,如果脚本根据其所在的环境进行加载,那么为什么要制定通用模块加载规范呢?
有人可以帮我解决这个困惑吗?