IntelliJ:CommonJS 导出默认对象属性无法通过点表示法访问
InterlliJ: CommonJS exports default object properties not accessible via dot notation
给出以下导入内容...
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _default = {
SOME_CONSTANT: 'Some constant text'
};
exports["default"] = _default;
...通过 babel 从原始 ES6 导出转译...
export default {
SOME_CONSTANT: 'Some constant text'
}
...为什么我的 IDE (PHPStorm / IntelliJ) 将以下(点符号)报告为 unresolved variable
...?
import textConstants from 'package-name/path/to/textConstants'
console.log(textConstants.SOME_CONSTANT)
如果我将它转换为(括号表示法)...
console.log(textConstants["SOME_CONSTANT"])
...检查结果令人满意,没有显示警告。
为什么?
看起来要添加...
{ "modules": false }
...我的 .babelrc 文件作为 "@babel/preset-env"
预设的选项就可以了。
所以我的 .babelrc 文件的内容是...
{
"presets": [
["@babel/preset-env", { "modules": false }]
]
}
...而我在 package.json 文件中的开发依赖项是...
{
"devDependencies": {
"@babel/cli": "^7.15.4",
"@babel/core": "^7.15.5",
"@babel/preset-env": "^7.15.6"
}
}
给出以下导入内容...
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _default = {
SOME_CONSTANT: 'Some constant text'
};
exports["default"] = _default;
...通过 babel 从原始 ES6 导出转译...
export default {
SOME_CONSTANT: 'Some constant text'
}
...为什么我的 IDE (PHPStorm / IntelliJ) 将以下(点符号)报告为 unresolved variable
...?
import textConstants from 'package-name/path/to/textConstants'
console.log(textConstants.SOME_CONSTANT)
如果我将它转换为(括号表示法)...
console.log(textConstants["SOME_CONSTANT"])
...检查结果令人满意,没有显示警告。
为什么?
看起来要添加...
{ "modules": false }
...我的 .babelrc 文件作为 "@babel/preset-env"
预设的选项就可以了。
所以我的 .babelrc 文件的内容是...
{
"presets": [
["@babel/preset-env", { "modules": false }]
]
}
...而我在 package.json 文件中的开发依赖项是...
{
"devDependencies": {
"@babel/cli": "^7.15.4",
"@babel/core": "^7.15.5",
"@babel/preset-env": "^7.15.6"
}
}