首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在电子应用程序启动时使用带有“导出”语句中断的依赖项

在电子应用程序启动时使用带有“导出”语句中断的依赖项
EN

Stack Overflow用户
提问于 2019-07-02 18:19:27
回答 1查看 143关注 0票数 0

我正在尝试使用电子webpack来用atlaskit构建一个电子应用程序。

我已经设置了最小可能的回购来重现这个问题:fstephany/bug-报告-电子-webpack

这是我的package.json

代码语言:javascript
复制
{
  "name": "electron-webpack-quick-start",
  "version": "0.0.0",
  "license": "MIT",
  "esm": "auto",
  "scripts": {
    "dev": "electron-webpack dev",
    "compile": "electron-webpack",
    "dist": "yarn compile && electron-builder",
  },
  "dependencies": {
    "source-map-support": "^0.5.12",
    "esm": "^3.2.25",
    "@atlaskit/navigation-next": "6.3.0"
  },
  "devDependencies": {
    "electron": "5.0.4",
    "electron-builder": "^20.44.4",
    "electron-webpack": "^2.7.1",
    "webpack": "~4.35.0"
  } 
}

和我的src/renderer/index.js,它只是加载外部依赖关系:

代码语言:javascript
复制
import { LayoutManager } from "@atlaskit/navigation-next";

let app = document.getElementById("app");
let layoutManager = LayoutManager;
console.log(app);
console.log(layoutManager);

当我用$ yarn dev运行这个应用程序的时候。我从电子窗口中得到了一个网络控制台中的错误:

代码语言:javascript
复制
Uncaught /home/fstephany/Code/Play/new-electron-webpack-project/node_modules/@atlaskit/navigation-next/index.js:2
export { default as ContainerHeader } from './components/presentational/ContainerHeader';
^^^^^^

SyntaxError: Unexpected token export
    at new Script (vm.js:85:7)
    at createScript (vm.js:266:10)
    at Object.runInThisContext (vm.js:314:10)
    at Module._compile (internal/modules/cjs/loader.js:742:26)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:820:10)
    at Module.load (internal/modules/cjs/loader.js:677:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:609:12)
    at Function.Module._load (internal/modules/cjs/loader.js:601:3)
    at Module.require (internal/modules/cjs/loader.js:715:19)
    at require (internal/modules/cjs/helpers.js:14:16)

SyntaxError: Unexpected token export让我觉得在巴贝尔变换中缺少了什么东西。特别是当@atlaskit/ 释放说明的下一个版本5.0.0明确提到:

从所有流程模块中删除ES5 在所有@atlaskit包中放弃CJS支持 作为一个重大的改变,所有@atlaskit包都将丢弃cjs发行版,并且只分发esm。这意味着所有分布式代码都将被转移,但仍将包含导入和导出声明。

知道怎么解决这个问题吗?我试过不同的巴贝尔配置,但我想要转成一圈.

EN

回答 1

Stack Overflow用户

发布于 2019-07-03 07:10:59

我在电子-webpack的模块设置中加入了对atlaskit的依赖。有关上下文,请参见承诺

代码语言:javascript
复制
"electronWebpack": {
  "whiteListedModules": ["@atlaskit/navigation-next"]
},
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56858139

复制
相关文章

相似问题

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