使用包含Javascript中重音字符的键的对象的奇怪行为

时间:2015-04-16 18:10:59

标签: javascript node.js require webstorm file-encodings

对于项目,我使用Express运行NodeJS应用程序。 我想组织我的代码并将一些对象放在我正在使用require调用的模块中。

喜欢的东西 var xlsImport = require(path.join(__dirname, '../config/xlsImport.js'))(mongoose, mongooseAppUsers, mongooseNodeJS_Test);

我的模块如下:

    module.exports = function (mongoose,mongooseAppUsers,mongooseNodeJS_Test) {
    var module={};
(...)
    module.convertField = {
(...)
        "Jeu":                     "game",
        "Démo":                    "demo",
(...)
    return module;
};

在主文件中,

xlsImport.convertField['Jeu'] is "game"
xlsImport.convertField['Démo'] is undefined

在模块中,两者都可以!

我怀疑要涉及复制机制......

有任何解决这个问题的建议吗? (还有一些关于原因的提示?)

1 个答案:

答案 0 :(得分:0)

我明白了!

这一切都来自我的编辑...... 当我将代码从主文件移动到另一个新创建的文件时,文件编码是不同的(windows-1252而不是UTF-8 -I不知道为什么 - )。 根据写作时间的不同,重音字符不一样。

没有奇怪的javascript行为......

我希望将来可以帮助其他人......