1

我正在尝试使用 rollupjs 将所有内容捆绑到一个文件中。

main.js文件:

import * as ex from 'example-export';

ex.alertMe();

example-export.js文件:

export function alertMe() {
    alert('alert!');
};

下面的命令及其响应:

karl@karl-ux303ln:~/dev/sketch/experiment/socketio$ rollup ./public/js/main.js --output ./public/js/bundle.js --format iife --sourcemap inline
Treating 'example-export' as external dependency
No name was provided for external module 'example-export' in options.globals – guessing 'ex'

产生的bundle.js文件:

(function (ex) {
'use strict';

ex.alertMe();

}(ex));
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLmpzIiwic291cmNlcyI6WyJtYWluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGV4IGZyb20gJ2V4YW1wbGUtZXhwb3J0JztcblxuZXguYWxlcnRNZSgpOyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxFQUFFLENBQUMsT0FBTyxFQUFFLDs7In0=

我期待example-export模块包含在bundle.js文件中。由于这确实是新事物,因此互联网缺乏适当的示例。

我希望这个问题与https://github.com/rollup/rollup/wiki/Command-Line-Interface#usage--name的论点有关。但是,我无法弄清楚它应该如何使用。假设我有多个出口和进口,那会怎样?

4

2 回答 2

4

相对路径

如果文件在同一目录中:

import * as ex from './example-export';

通过 NODE_PATH

如果设置了 NODE_PATH 环境变量,那么您可以从中添加一个路径。

  • 如果NODE_PATH等于/home/karl/myprojects/mynodeproject/
  • 您尝试访问的图书馆位于/home/karl/myprojects/mynodeproject/src/lib/my_library.js
  • 您正在编写的当前尝试导入my_library的文件位于/home/karl/myprojects/mynodeproject/src/index.js

然后您可以在中使用以下内容index.js

import * as ex from 'src/lib/example-export';
于 2016-08-25T19:44:50.183 回答
2

我已经通过汇总操场页面尝试了该示例,唯一需要更改以使其正常工作的就是更改

import * as ex from 'example-export';

import * as ex from './example-export';

看看这里

于 2016-08-25T19:45:28.420 回答