当前位置: 首页 > 知识库问答 >
问题:

无法使用汇总导入通用js中的npm模块:“未定义需求”

闾丘书
2023-03-14

我在一个ES6项目上工作,我使用rollup和babel进行传输。它工作得很好,除了当我尝试导入使用commonjs(尤其是require('something'))的npm模块时,在我的浏览器中出现错误“require is not defined”(这意味着它没有正确地将节点模块从commonjs编译到ES5)。然而,我使用了rollup plugin node resolve和rollup plugin commonjs,如果我理解正确的话,应该可以完成这项工作。。。

这是我的汇总配置文件:

import babel from 'rollup-plugin-babel';
import eslint from 'rollup-plugin-eslint';
import resolve from 'rollup-plugin-node-resolve'; // to import node_modules packages easily
import commonjs from 'rollup-plugin-commonjs'; // convert commonjs to es6 (in case you use require)

export default {
  input: 'src/main.js',
  output: {
      file:'build/index.js',
      format: 'iife'
  },
  sourcemap: 'inline',
  plugins: [
    resolve({
      jsnext: true,
      main: true,
      browser: true
    }),
    commonjs({
        include: 'src/**'
    }),
    eslint({
      exclude: [
        'src/styles/**',
      ]
    }),
    babel({
      exclude: 'node_modules/**',
    })
  ],
};

还有我的babel配置文件:

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

我无法加载的模块示例是数学。js,nsolvejs,色度。js,数据。gui等。

共有1个答案

方树
2023-03-14

这个问题可能与commonjs插件有关,它用于在构建时将CJ转换为es模块,因此您应该包含节点_模块中的cjs模块,而不是src。

 commonjs({
    include: 'node_modules/**'
 })
 类似资料:
  • 我正在尝试使用rollup导入fire baseui库。如果我将firbaseui包含在他们提供的cdn中,用户界面加载良好: 但是,如果我尝试使用导入它,我会在浏览器中遇到以下错误:

  • 我有一个问题与汇总和汇总插件节点解决。 如果我有这种类型的进口: 它被转换为: 当我尝试在使用Webpack的项目中使用它时,这会破坏捆绑包,因为文件夹显然不是我的Rollup-bundled包的文件夹的子文件夹(因为npm平坦了依赖项)。 我已经将所有的定义为。 这是我的相关配置: 如何使构建保持节点模块导入保持绝对路径?我想在写的时候保存它们,这样节点。js/webpack/wathever可

  • 当我尝试导入诸如“pymc3”或“theano”之类的模块时,rPython或pythoniner无法定位这些模块,即使我已经安装了它们。我使用的是Ubuntu 16.04、R3.4.2和python 3.5.2 这两个包似乎无法找到某个文件夹,但是在我将路径追加到sys.path后,它就不起作用了,sys.path包含了我需要的所有包,通过使用以下命令: 结果似乎也不错: ['''/usr/li

  • 我有一个HTTP拦截器来监视401错误和超时错误。当我在其中导入服务时。这是说服务是未定义的 我的HTTP拦截器 我的HTTP拦截器工厂 捕获块内的通知未定义。我不明白为什么会发生这种情况。 我对这件事很陌生。我做错了什么?

  • 本文向大家介绍TypeScript 从npm导入模块,包括了TypeScript 从npm导入模块的使用技巧和注意事项,需要的朋友参考一下 示例 如果模块具有类型定义文件(d.ts),则可以使用import语句。 如果您没有模块的定义文件,TypeScript将在编译时抛出错误,因为它找不到您要导入的模块。 在这种情况下,可以使用正常的运行时require功能导入模块。但是,这将其返回为any类型

  • 问题内容: 我正在尝试在我的react应用中使用bootstrap,但这给了我一个。我已经导入了jquery并尝试从其他帖子尝试以下操作: 但是,我仍然会收到错误消息。 解决此问题的唯一方法是将 进入index.html 有没有一种方法可以导出jquery或引导程序能够检测/读取它? 我通过以下方式致电我的引导程序 问题答案: 我尝试使用“ create-react-app”构建一个项目,发现导入