1

我正在尝试设置一个添加到我的其他 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"]
}
4

0 回答 0