我有2个JS文件,我想将它们捆绑在一起,这样我就可以将其上传到第3方系统,并且在外部仍然可以使用公用的fns进行重用。
第三方系统需要代码在ES2015中,并且捆绑文件给我错误
错误:Compilation failed: Unexpected token import
app.js
const { AuthenticationClient } = require('auth0');
const BodyParser = require('body-parser');
const Express = require('express');
// some more stuff here
exports.app = app;
index.js
import { app } from './app.js';
当我运行汇总op文件时,它看起来像
import auth0 from 'auth0';
import bodyParser from 'body-parser';
import express from 'express';
import requestPromise from 'request-promise';
// stuff
rollup.config.js
import commonjs from 'rollup-plugin-commonjs';
export default [
{
input: 'webtask/forgot-password/index.js',
output: {
format: 'es',
},
external: ['auth0', 'body-parser', 'express', 'request-promise', 'webtask-tools'],
plugins: [
commonjs({
namedExports: { './webtask/forgot-password/app.js': ['named' ] }
})
]
}
];
这可能吗?我应该回到旧版汇总吗?
答案 0 :(得分:0)
使用format: 'cjs'
。 es
(实际上不推荐使用esm
)是为了a)将自身捆绑在一起的库,以及b)可以本地加载模块的浏览器。