ES6 访问从同一文件导出 'default' 个实例
ES6 access exported 'default' instance from same file
我想知道,当您像这样使用 ES6 关键字 export
导出一些数据时:
export default {
data: "Hello !"
}
您如何才能从同一个文件访问完全相同的导出数据?
编辑:当然,在导出变量之前没有声明...
如果你这样构建你的文件,你不能。
通常,您在导出语句之前定义要公开的函数和数据,然后在构建导出语句时引用它们object/function。
错误的方式:
export default {
data: 'Hello!',
myFn: function (str) {
console.log(str);
}
}
好办法:
var data = 'Hello!';
var myFn = function (str) {
console.log(str);
};
// code that uses data and myFn
// shorthand for { data: data, myFn: myFn }
export default { data, myFn };
如果您想在内部访问您导出的函数,您应该在导出语句之外定义它们。像这样:
const data = 'Hello !';
const someFunc = () => {
return data + ' Goodbye!'
}
export default {
data,
someFunc
}
现在变量和函数可以相互引用,而无需 "stuck" 在导出函数中。例如,以下将不起作用:
// WRONG!
export default {
data: 'Hello !',
someFunc: () => {
return data + ' Goodbye!';
}
}
尝试以下方法
export const data = 'hello';
对于我的类似用例——我希望轻松访问 ES6 模块从同一模块中导出的所有内容,仅用于调试目的。所以:
export const data = 'hi'
export const someFunc = () => `important data: ${data}`
export default someFunc()
export const funcToDebug() => {
console.log(`what's going on here? ${myModule.exports.default}`)
}
var myModule = module
我想知道,当您像这样使用 ES6 关键字 export
导出一些数据时:
export default {
data: "Hello !"
}
您如何才能从同一个文件访问完全相同的导出数据?
编辑:当然,在导出变量之前没有声明...
如果你这样构建你的文件,你不能。
通常,您在导出语句之前定义要公开的函数和数据,然后在构建导出语句时引用它们object/function。
错误的方式:
export default {
data: 'Hello!',
myFn: function (str) {
console.log(str);
}
}
好办法:
var data = 'Hello!';
var myFn = function (str) {
console.log(str);
};
// code that uses data and myFn
// shorthand for { data: data, myFn: myFn }
export default { data, myFn };
如果您想在内部访问您导出的函数,您应该在导出语句之外定义它们。像这样:
const data = 'Hello !';
const someFunc = () => {
return data + ' Goodbye!'
}
export default {
data,
someFunc
}
现在变量和函数可以相互引用,而无需 "stuck" 在导出函数中。例如,以下将不起作用:
// WRONG!
export default {
data: 'Hello !',
someFunc: () => {
return data + ' Goodbye!';
}
}
尝试以下方法
export const data = 'hello';
对于我的类似用例——我希望轻松访问 ES6 模块从同一模块中导出的所有内容,仅用于调试目的。所以:
export const data = 'hi'
export const someFunc = () => `important data: ${data}`
export default someFunc()
export const funcToDebug() => {
console.log(`what's going on here? ${myModule.exports.default}`)
}
var myModule = module