【问题标题】:Uncaught SyntaxError: Unexpected token export - How to set up libraryUncaught SyntaxError: Unexpected token export - 如何设置库
【发布时间】:2018-12-12 18:50:06
【问题描述】:

我正在为我的应用程序构建一个加密库(该应用程序在使用电子反应时运行)。 我遇到的问题是,当我在反应电子应用程序中导入库时,我收到错误“意外的令牌导出”。 我在库上尝试了不同的 babel 配置来解决问题,但无法正常工作。

图书馆链接crypto-notebook-lib

链接到应用程序crypto-notebook

【问题讨论】:

  • 这可能意味着插件顺序不正确,所以 babel 应该是第一个。

标签: javascript reactjs webpack babeljs es6-modules


【解决方案1】:

您将需要使用像 Webpack 这样的构建工具将您的代码编译成可以在您的应用中使用的库。

实现这一目标的基本 Webpack 配置如下所示:

  var path = require('path');

  module.exports = {
    entry: './src/index.js',
    output: {
      path: path.resolve(__dirname, 'dist'),
      filename: 'crypto-notebook-lib.js',
      library: 'CryptoNotebookLib',
      libraryTarget: 'umd'
    }
  };

然后您需要通过 npm 将其作为依赖项添加到您的加密应用程序中。最简单的方法是拉straight from GitHub $ npm install --save CryptoNotebook/crypto-notebook-lib#master

一旦它作为依赖项安装在您的应用中,您就可以将其作为一个包import它:

import CryptoNotebookLib from 'crypto-notebook-lib';

【讨论】:

  • webpack 出错。如果您有错误的转换顺序,您可以使用 browserify 遇到类似的错误。
  • 谢谢!我也尝试过类似的方法,不幸的是,我无法让它工作。我已经根据您的建议将 webpack 配置添加到项目中,但我仍然收到错误消息。自从 2 天以来,我对此感到非常沮丧 :(
  • @JuanCruzMartinez 你必须在 git 上包含你的 /dist 文件夹和你的代码才能工作
  • 我注意到如果我手动链接 repo 并使用 webpack-cli 构建它,它可以工作,但是如果我从 npm 安装模块,安装时构建脚本不会运行,因此模块没有找到。
  • 刚刚看到您之前的回复。我明白...我可以这样做,但是其他库不这样做,我想知道他们是否执行不同的解决方案?
猜你喜欢
  • 2017-01-30
  • 2012-05-17
  • 2019-02-10
  • 2014-07-08
  • 2011-03-09
  • 2014-01-06
  • 2012-04-10
  • 1970-01-01
相关资源
最近更新 更多