这将是一个非常简单的问题,但是在阅读和重新阅读了文档以及进行了千次不同的试验之后,我仍然无法获得用于解决依赖关系的库。
目录层次结构是:
root
|-- package.json
|-- rollup.config.js
|-- node_modules
|-- fast-json-patch
|-- fp-rosetree
|-- deep-equal
汇总配置文件为:
import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import { terser } from "rollup-plugin-terser";
export default {
input: 'src/index.js',
output: {
file: 'dist/transducer.umd.js',
format: 'umd',
name: 'StateTranducer',
},
plugins: [
resolve({
module: true, // Default: true
jsnext: false, // Default: false
main: true, // Default: true
browser: true, // Default: false
extensions: [ '.mjs', '.js', '.jsx', '.json' ],
preferBuiltins: false, // Default: true
// Lock the module search in this path (like a chroot). Module defined
// outside this path will be marked as external
// jail: '/my/jail/path', // Default: '/'
// Set to an array of strings and/or regexps to lock the module search
// to modules that match at least one entry. Modules not matching any
// entry will be marked as external
only: [
/^fp-rosetree$/,
], // Default: null
modulesOnly: false, // Default: false
}),
commonjs({
include: ['node_modules/**', "node_modules/deep-equal/**"],
}),
terser()
]
};
然后我的代码包含
import { applyPatch } from "fast-json-patch/"
其代码中的fast-json-patch
库具有var _equals = require('deep-equal');
。在终端中,我收到的错误消息是:
(!) Missing global variable name
Use output.globals to specify browser global variable names corresponding to external modules
deep-equal (guessing 'deepEqual')
由于模块deep-equal
可以在node_modules
目录中找到,因此我希望汇总能够解决该问题。我什至在npm install
中运行了node_modules/fast-json-patch
在deep-equal
中安装了node_modules/fast-json-patch/node_modules
,但是仍然无法产生任何结果。
请注意,fp-rosetree
已正确解析,而fast-json-patch是commonjs模块,您可以从汇总配置中猜出。
我可能缺少什么?