web-dev-qa-db-ja.com

ロールアップを展開する「require」ステートメントを作成するにはどうすればよいですか?

rollupに頭を巻きつけようとしています。

このフォーマットのファイルを生成するライブラリーを使用しています:requireステートメントを含むIIFE。例えば

// index.js
(function() {
  const myThing = require('./thing');
})()

//thing.js
module.exports = { a: 3 };

rollupを他のものと一緒に使用しようとしていますが、私のbundle.jsは次のようになります。

(function () {
  var myThing = require('./thing');
})();

私のbundle.jsは次のようになりますか?

(function () {
  var myThing = { a: 3 };
})();

私の設定に問題がある場合、ここにrollup.config.js使用しているもの:

var babel = require('rollup-plugin-babel');

export default {
  input: 'index.js',
  output: {
    file: 'dist/bundle.js',
    format: 'es'
  },
  plugins: [
    babel({
      exclude: 'node_modules/**'
    })
  ]
};

これらは私がインストールしたパッケージです:

"babel-core": "^6.26.3",
"babel-plugin-external-helpers": "^6.22.0",
"babel-preset-env": "^1.6.1",
"rollup": "^0.58.2",
"rollup-plugin-babel": "^3.0.4"

そして私のバベル設定:

{
  "presets": [
    [
      "env",
      {
        "modules": false
      }
    ]
  ],
  "plugins": [
    "external-helpers"
  ]
}

ビルドするには、rollup -c

12
nachocab

わかりました。私が使用しなければならなかったすべてはCommonJSプラグインを使用することでした:

import babel from 'rollup-plugin-babel';
import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';

export default {
  input: 'index.js',
  output: {
    file: 'dist/bundle.js',
    format: 'cjs'
  },
  plugins: [
    resolve(),
    commonjs(),
    babel({
      exclude: 'node_modules/**'
    })
  ]
};
6
nachocab