首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rollup -导入外部库

rollup -导入外部库
EN

Stack Overflow用户
提问于 2020-08-02 15:19:09
回答 1查看 571关注 0票数 1

在前面,我使用脚本使用库:

现在我使用yarn和rollup来构建包含next文件的项目。package.json:

代码语言:javascript
复制
{
  "name": "maplib",
  "version": "1.0.0",
  "main": "src/main.js",
  "license": "MIT",
  "devDependencies": {
  "@babel/cli": "^7.10.5",
  "@babel/core": "^7.10.5",
  "@babel/node": "^7.10.5",
  "@babel/preset-env": "^7.10.4",
  "@rollup/plugin-node-resolve": "^8.4.0",
  "rollup": "^2.22.2"
  },
  "dependencies": {
    "mapbox-gl": "^1.11.1"
  },
  "scripts": {
    "build": "rollup -c"
  }
}

rollup.config.js:

代码语言:javascript
复制
import resolve from '@rollup/plugin-node-resolve';
                         
export default {
  input: 'src/main.js',
  external: ['mapbox-gl-dev'],
  output: {
    file: 'src/blazorMap/dist/MapBoxBlazor.js',
    format: 'iife',
    globals: {
      mapboxgl: 'mapboxgl'
    },
    plugins: [
      resolve(), // so Rollup can find `mapbox-gl`
    ]
  }
};

和main.js:

代码语言:javascript
复制
import * as mapboxgl from 'mapbox-gl'

export function init(o) {
    
    this.assign(mapboxgl, "accessToken", o.accessToken);
        this.mapblazor = new mapboxgl.Map(
        container   = o.container,
        style       = o.mapStyle,
        center      = o.mapCenter,
        zoom        = o.mapZoom
    );
}

我收到错误消息:https://rollupjs.org/guide/en/..。依赖项mapbox-gl (由src\main.js导入) (!)缺少全局变量名使用output.globals指定浏览器全局变量名对应于外部模块mapbox-gl (猜测'mapboxgl')在37ms内创建src/blazorMap/dist/MapBoxBlazor.js如何解决导入mapbox-gl的问题?

EN

回答 1

Stack Overflow用户

发布于 2020-08-03 18:31:43

您可能需要'@rollup/plugin-commonjs',将'plugins‘的位置移到输出之外,并将'name’属性设置为' output ':

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

export default {
  input: 'src/main.js',
  external: ['mapbox-gl-dev'],
  output: {
    file: 'src/blazorMap/dist/MapBoxBlazor.js',
    format: 'iife',
    globals: {
      mapboxgl: 'mapboxgl',
    },
    name: 'xxx'
  },
  plugins: [
    resolve(), // so Rollup can find `mapbox-gl`
    commonjs(),
  ],
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63213389

复制
相关文章

相似问题

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