首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入节点的hash.crypto - (!)时出错未解决依赖关系

导入节点的hash.crypto - (!)时出错未解决依赖关系
EN

Stack Overflow用户
提问于 2017-10-27 15:52:14
回答 1查看 1.1K关注 0票数 0

我在从节点的hash包导入crypto时遇到了问题。下面是我遇到的错误:

误差

代码语言:javascript
复制
[~/Projects/rollup] yarn run build
yarn run v1.2.1
$ rollup -c

src/main.js → ./build/app.js...
(!) Unresolved dependencies
https://github.com/rollup/rollup/wiki/Troubleshooting#treating-module-as-external-dependency
crypto (imported by src/main.js)
(!) Missing global variable name
Use options.globals to specify browser global variable names corresponding to external modules
crypto (guessing 'crypto')
created ./build/app.js in 791ms
✨  Done in 4.61s.

src/main.js

代码语言:javascript
复制
import { hash } from 'crypto';
hash.digest('hex');

rollup.config.js

代码语言:javascript
复制
import babel from 'rollup-plugin-babel'; 
import commonjs from 'rollup-plugin-commonjs';
import resolve from 'rollup-plugin-node-resolve';

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

package.json

代码语言:javascript
复制
{
  "name": "rollup",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "dependencies": {
    "babel-core": "^6.26.0",
    "babel-preset-env": "^1.6.1",
    "lodash-es": "^4.17.4",
    "rollup": "^0.50.0",
    "rollup-plugin-babel": "^3.0.2",
    "rollup-plugin-commonjs": "^8.2.5",
    "rollup-plugin-node-resolve": "^3.0.0"
  },
  "scripts": {
    "build": "rollup -c",
    "dev": "rollup -c -w"
  }
}

奇怪的是,如果我试图从template中导入lodash-es,就不会出现任何错误:

代码语言:javascript
复制
import template from 'lodash-es';
console.log('test');

我只能安装用于浏览器的软件包吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-27 16:23:02

当使用节点模块时,必须使用rollup-plugin-node-builtins。我将以下内容添加到我的rollup.config.js文件中:

代码语言:javascript
复制
import babel from 'rollup-plugin-babel';
import commonjs from 'rollup-plugin-commonjs';
import resolve from 'rollup-plugin-node-resolve';
import builtins from 'rollup-plugin-node-builtins';

export default {
  input: 'src/main.js',
  output: {
    file: './build/app.js',
    format: 'iife'
  },
  plugins: [
    builtins(),
    resolve({
      jsnext: true,
      main: true,
      browser: true,
    }),
    commonjs(),
    babel({
      exclude: 'node_modules/**'
    })
  ]
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46979008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档