&引用;SyntaxError:意外标记,应为“1”;尝试访问javascript对象值时
在Alias.js中,我试图从导入的actionTypes对象访问“SELECT_HOST”属性值。然而,这会导致“SyntaxError:意外令牌,预期”错误,如Webpack所示。我无法确定&引用;SyntaxError:意外标记,应为“1”;尝试访问javascript对象值时,javascript,node.js,webpack,Javascript,Node.js,Webpack,在Alias.js中,我试图从导入的actionTypes对象访问“SELECT_HOST”属性值。然而,这会导致“SyntaxError:意外令牌,预期”错误,如Webpack所示。我无法确定actionTypes中的语法错误。请选择\u HOST,这是访问对象属性值的标准点表示法 actionTypes.js: const actionTypes = { SELECT_HOST : 'SELECT_HOST', INVOKE_ASSESSMENT : 'INVOKE_ASSE
actionTypes中的语法错误。请选择\u HOST
,这是访问对象属性值的标准点表示法
actionTypes.js:
const actionTypes = {
SELECT_HOST : 'SELECT_HOST',
INVOKE_ASSESSMENT : 'INVOKE_ASSESSMENT',
RETRIEVE_ASSESSMENT : 'RETRIEVE_ASSESSMENT',
RETRIEVE_OPTIONS : 'RETRIEVE_OPTIONS',
RETRIEVE_RESULTS : 'RETRIEVE_RESULTS',
UPDATE_OPTIONS : 'UPDATE_OPTIONS'
};
export default actionTypes;
Alias.js:
import actionTypes from '../actions/actionTypes';
const selectHost = (host) => {
chrome.tabs.query({currentWindow: true, active: true}, (tabs) => {
host = new URL(tabs[0].url).hostname;
});
const action = {
type: actionTypes.SELECT_HOST,
host
};
return action;
};
export default {
actionTypes.SELECT_HOST: selectHost
};
网页包抛出错误:
ERROR in ./src/aliases/aliases.js
Module build failed: SyntaxError: Unexpected token, expected , (15:12)
13 |
14 | export default {
> 15 | actionTypes.SELECT_HOST: selectHost
| ^
16 | };
在Object literal内部,如果您试图使用actionTypes的值,则键名不能包含点(.)。选择\u HOST作为要导出的对象中的属性名,您可以使用计算属性表示法来实现这一点(从ES2015开始新增,但是,您正在使用的许多其他东西也是如此,所以…),请注意
[]
:
export default {
[actionTypes.SELECT_HOST]: selectHost
};
例如,如果
actionTypes.SELECT\u HOST
包含字符串“foo”
,将生成一个名为foo
的属性的对象,该属性的值为selectHost
,我相信您可能需要定义out={};out[actionTypes.SELECT\u HOST]=selectHost;导出默认输出
..@NiettheDarkAbsol:如果OP正试图这样做,那么ES2015+中不需要这两个步骤。你想用操作类型做什么。选择主机?是的,这是一个完全正常的属性访问表达式,但在您执行此操作时,属性访问表达式无效(因此出现错误)。@T.J.Crowder感谢您的评论和回答。我不知道属性访问表达式不能在对象文本中使用。我将某些常量定义为actionTypes.js(用作枚举集合)中的对象值,然后导出这些值。然后,在其他文件中,我正在访问这些值。@Agrim:很好(你最后说你在使用这个值,我只是想确定一下)。好消息是,您现在可以使用这些表达式(括号中)。:-)太好了,真的成功了!是的,我正在使用ES2015(尽管仍处于全面学习的过程中),因此每天都要学习新的东西。