Ошибка накопления [!]: Неожиданный токен для antd lib - PullRequest
1 голос
/ 31 мая 2019

Я создаю пакет npm для оболочки antd и redux-form.Я использую RollUp для компиляции JSX.я установил antd lib для зависимости.когда я запускаю скрипт, он показывает следующую ошибку.

> rollup -c

src/index.tsx → dist/index.js, dist/index.es.js...
[!] Error: Unexpected token
node_modules/antd/package.json (2:9)
1: {
2:   "_from": "antd@3.19.1",
            ^
3:   "_id": "antd@3.19.1",
4:   "_inBundle": false,

my rollup.config.js

import typescript from 'rollup-plugin-typescript2'
import commonjs from 'rollup-plugin-commonjs'
import external from 'rollup-plugin-peer-deps-external'
// import postcss from 'rollup-plugin-postcss-modules'
import postcss from 'rollup-plugin-postcss'
import resolve from 'rollup-plugin-node-resolve'
import url from 'rollup-plugin-url'
import svgr from '@svgr/rollup'
import globals from "rollup-plugin-node-globals";
import builtins from "rollup-plugin-node-builtins";
import json from "rollup-plugin-json";
import pkg from './package.json'

export default {
  input: 'src/index.tsx',
  output: [
    {
      file: pkg.main,
      format: 'cjs',
      exports: 'named',
      sourcemap: true
    },
    {
      file: pkg.module,
      format: 'es',
      exports: 'named',
      sourcemap: true
    }
  ],
  plugins: [
    external(),
    postcss({
      modules: true
    }),
    url(),
    svgr(),
    resolve({preferBuiltins: false}),
    typescript({
      rollupCommonJSResolveHack: true,
      clean: true
    }),
    commonjs(),
    globals(),
    builtins(),
    json()
  ]
}


my package.json

{
  "name": "a8formelements",
  "version": "1.0.1",
  "description": "sample",
  "author": "",
  "license": "MIT",
  "repository": "/formelements",
  "main": "dist/index.js",
  "module": "dist/index.es.js",
  "jsnext:main": "dist/index.es.js",
  "engines": {
    "node": ">=8",
    "npm": ">=5"
  },
  "scripts": {
    "test": "cross-env CI=1 react-scripts-ts test --env=jsdom",
    "test:watch": "react-scripts-ts test --env=jsdom",
    "build": "rollup -c",
    "start": "rollup -c -w",
    "prepare": "npm run build",
    "predeploy": "cd example && npm install && npm ru  n build",
    "deploy": "gh-pages -d example/build"
  },
  "dependencies": {
    "antd": "3.19.1",
    "classnames": "^2.2.6",
    "moment": "^2.24.0",
    "uuid": "^3.3.2",
    "validate.js": "^0.12.0"
  },
  "peerDependencies": {
    "prop-types": "^15.5.4",
    "react": "^15.0.0 || ^16.0.0",
    "react-dom": "^15.0.0 || ^16.0.0"
  },
  "devDependencies": {
    "@types/classnames": "^2.2.7",
    "@types/uuid": "^3.4.4",
    "@svgr/rollup": "^2.4.1",
    "@types/jest": "^23.1.5",
    "@types/node": "^11.13.5",
    "@types/react": "^16.8.13",
    "@types/react-dom": "^16.0.5",
    "@types/redux-form": "^8.1.1",
    "babel-core": "^6.26.3",
    "babel-runtime": "^6.26.0",
    "cross-env": "^5.1.4",
    "gh-pages": "^1.2.0",
    "react": "^16.4.1",
    "rollup-plugin-json": "^4.0.0",
    "react-dom": "^16.4.1",
    "react-scripts-ts": "^2.16.0",
    "rollup": "^0.62.0",
    "rollup-plugin-babel": "^3.0.7",
    "rollup-plugin-commonjs": "^9.1.3",
    "rollup-plugin-node-builtins": "^2.1.2",
    "rollup-plugin-node-globals": "^1.4.0",
    "rollup-plugin-node-resolve": "^3.4.0",
    "rollup-plugin-peer-deps-external": "^2.2.0",
    "rollup-plugin-postcss": "^1.6.2",
    "rollup-plugin-typescript2": "^0.20.1",
    "rollup-plugin-url": "^1.4.0",
    "typescript": "^2.8.3"
  },
  "files": [
    "dist"
  ]
}

Я обновил свой rollup.config.js с помощью интеграции rollup-plugin-json.Когда я добавляю эту конфигурацию, я получаю еще одну ошибку, как показано ниже:

node_modules/rc-editor-mention/es/index.js (2:9)
1: // export this package's api
2: import { ContentState } from 'draft-js';
            ^
3: import Mention from './component/Mention.react';
4: import toString from './utils/exportContent';

1 Ответ

0 голосов
/ 31 мая 2019

Вы можете найти интересную дискуссию здесь .Предполагается, что вы должны использовать rollup-plugin-json .

Как-то странно, но для адаптера узла axios требуется свой собственный package.json, который по умолчанию не используется в накопительном пакете.

Чтобы свертка понимала файлы json, просто используйте rollup-plugin-json.Я только что попробовал, и он работает нормально.

У кого-то такая же проблема, как у вас, но с axios, и я думаю, что это та же концепция.

Вы можете попробовать.

...