从webpack ES6作用域中的函数返回值
Returning value from a function in webpack ES6 - scope
我在webpack模块中返回一个值,但是我无法在函数外使用它。除非我犯了一个愚蠢的错误,否则我想也许我错过了一些关于模块工作方式的基本信息。谁能给我点化一下吗?
function getProjectID() {
const project_id = document.getElementById('project-title')
.getAttribute('data-project-id');
console.log("Project id inside is" + project_id); //Logs out the correct value
return project_id;
}
getProjectID();
console.log("Project id outside is" + project_id); //Uncaught ReferenceError: project_id is not defined
JavaScript具有函数作用域,因此project_id
不会在函数之外访问,因为这是它声明的地方。
指定返回值访问它:
const project_id = getProjectID();
根据你的代码和问题很难告诉你实际上想要返回什么,但我猜你想要一个模块,将从#project-title
返回data-project-id
属性的值。
如果我的假设是正确的,那么您实际上需要将module.exports
设置为getProjectID
函数。
getProjectId.js
module.exports = function getProjectID() {
return document.getElementById('project-title').getAttribute('data-project-id');
}
注意:是否定义模块。exports函数是否为匿名并不重要,但为了清晰起见,我保留了名称。
someOtherFile.js
var getProjectId = require('getProjectId');
console.log('Project id is... %s', getProjectID());
相关文章:
- 根据是否解析了 Promise 从函数返回值
- 从Ajax函数返回值
- 如何从嵌套的API函数返回值
- 从异步函数返回值
- 我如何才能继续'如果'语句来比较作为参数的多个函数返回值
- 从节点中的回调函数返回值
- 提交时不采用函数返回值.并且没有按预期行事
- 如何从工厂传递的函数返回值
- 为什么在循环中返回时函数返回值未定义
- 从JavaScript中的嵌套函数返回值
- 存在从函数返回值的问题
- 如何从setinterval函数返回值
- javascript:从匿名函数返回值
- angularjs从html调用函数返回值
- 从命名函数返回值
- 无法从Javascript中的嵌套函数返回值
- 这是显示javascript函数返回值的最佳方式吗
- 使用ajax和回调函数向函数传递值/从函数返回值
- 构造函数中的函数返回值
- 尝试从开关语句 -JS- 中的函数返回值