我正在尝试设置一个添加到我的其他 ES2015 项目中的 ES2015 库。我已经尝试过很多,这就是我目前所处的位置:我有 ES2015 模块,这些模块被转译为 5,然后在我的基础项目中的 ES2015 模块中使用导入。我的 Lib 只有一个导出测试模块的索引文件:
我的问题存在于浏览器中一切正常,但是当我导入时我在 WebStorm 中没有代码提示,所以我的库不是很有用。
进口声明:
import { TestModule } from 'sfl';
失败的代码提示:
ES2015 index.js:
export TestModule from './TestModule';
ES2015 测试模块.js:
export default class TestModule {
constructor() {
this.test = 'test';
}
static logTest(content) {
window.console.log(content);
}
}
哪个转译看起来像:
ES5 index.js:
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.TestModule = undefined;
var _TestModule2 = require('./TestModule');
var _TestModule3 = _interopRequireDefault(_TestModule2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.TestModule = _TestModule3.default;
ES5 TestModule.js:
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var TestModule = function () {
function TestModule() {
(0, _classCallCheck3.default)(this, TestModule);
this.test = 'test';
}
(0, _createClass3.default)(TestModule, null, [{
key: 'logTest',
value: function logTest(content) {
window.console.log(content);
}
}]);
return TestModule;
}();
exports.default = TestModule;
module.exports = exports['default'];
巴别尔:
{
"presets": ["es2015", "stage-1"],
"plugins": ["transform-runtime", "add-module-exports"]
}