Html-react-parser: Tidak dapat menggunakan html-react-parser di create-react-library

Dibuat pada 11 Des 2018  ·  5Komentar  ·  Sumber: remarkablemark/html-react-parser

Saya membuat modul npm dengan bantuan create-react-library ,
Saya yang saya gunakan html-react-parser.
tetapi setelah mengimpor html-react-parser, itu memberikan kesalahan

[!] Error: Unexpected token
node_modules/entities/maps/entities.json (1:9)
1: {"Aacute":"\u00C1","aacute":"\u00E1","Abreve":"\u0102","abreve":"\u0103","ac":"\u223E","acd":"\u223F","acE":"\u223E\u0333","Acirc":"\u00C2","acirc":"\u00E2","acute":"\u00B4","Acy":"\u0410","acy":"\u0430","AElig":"\u00C6","aelig":"\ ....very long json 

error Command failed with exit code 1.
question

Komentar yang paling membantu

Tampaknya rollup tidak memeriksa bidang "browser" di html-react-parser 's package.json .

Karena pustaka bersifat isomorfik (berjalan di server dan klien), bidang browser adalah yang memberi tahu bundler seperti webpack untuk mengganti kode tertentu dengan kode yang kompatibel dengan browser.

Mengimpor pustaka versi klien akan mengatasi kesalahan:

// src/index.js
import Parser from 'html-react-parser/dist/html-react-parser'

Beri tahu saya jika itu berhasil untuk Anda.

Semua 5 komentar

Hai @KARTIK01 , bisakah Anda memberikan langkah-langkahnya sehingga saya dapat mereproduksi masalah? Dan tolong beri tahu saya versi OS, node, npm/benang apa yang Anda gunakan.

Kesalahan tampaknya berasal dari entities.json , yang digunakan oleh htmlparser2 , ketergantungan perpustakaan ini untuk penguraian di sisi server.

Hai @remarkablemark , berikut adalah informasi untuk mereproduksi kesalahan ini.
OS: MacOS Mojave Versi 10.14.1
Versi Node: v10.14.1
benang: 1.12.3 (saya menggunakan benang untuk proyek ini)
npm: 6.4.1

Langkah-langkah untuk Menghasilkan.

  1. Buat Proyek Baru Melalui create-react-library
  2. yarn add html-react-parser
  3. di src/index.js tambahkan pernyataan impor.

import Parcer from 'html-react-parser'

  1. Hentikan server, lalu yarn start lagi.

saya menggunakan rendering sisi klien.

Tampaknya rollup tidak memeriksa bidang "browser" di html-react-parser 's package.json .

Karena pustaka bersifat isomorfik (berjalan di server dan klien), bidang browser adalah yang memberi tahu bundler seperti webpack untuk mengganti kode tertentu dengan kode yang kompatibel dengan browser.

Mengimpor pustaka versi klien akan mengatasi kesalahan:

// src/index.js
import Parser from 'html-react-parser/dist/html-react-parser'

Beri tahu saya jika itu berhasil untuk Anda.

Terima kasih @remarkablemark ,
Sekarang berfungsi dengan baik, hanya memberi peringatan.

(!) Use of eval is strongly discouraged
https://github.com/rollup/rollup/wiki/Troubleshooting#avoiding-eval
node_modules/html-react-parser/dist/html-react-parser.js
109: /***/ (function(module, exports, __webpack_require__) {
110:
111: eval("var domToReact = __webpack_require__(/*! ./lib/dom-to-react */ \"./lib/dom-to-react.js\");\nvar htmlToDOM = __webpack_require__(/*! html-dom-parser */ \"./node_modules/html-dom-parser/lib/html-to-dom-client.js\");\n\n// decode HTML entities by default for `htmlparser2`\nvar domParserOptions = { decodeEntities: true, lowerCaseAttributeNames: false };\n\n/**\n * Convert HTML string to React elements.\n *\n * <strong i="8">@param</strong>  {String}   html              - The HTML string.\n * <strong i="9">@param</strong>  {Object}   [options]         - The additional options.\n * <strong i="10">@param</strong>  {Function} [options.replace] - The replace method.\n * <strong i="11">@return</strong> {ReactElement|Array}\n */\nfunction HTMLReactParser(html, options) {\n  if (typeof html !== 'string') {\n    throw new TypeError('First argument must be a string');\n  }\n  return domToReact(htmlToDOM(html, domParserOptions), options);\n}\n\n/**\n * Export HTML to React parser.\n */\nmodule.exports = HTMLReactParser;\n\n\n//# sourceURL=webpack://HTMLReactParser/./index.js?");
     ^
112:
113: /***/ }),
...and 15 other occurrences

Saya pikir ini adalah masalah rollup.

Saya setuju @KARTIK01. Jangan ragu untuk menutup masalah jika sudah teratasi.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

on2air picture on2air  ·  3Komentar

mdeljavan picture mdeljavan  ·  4Komentar

EoleO picture EoleO  ·  5Komentar

christianfredh picture christianfredh  ·  5Komentar

lhtdesignde picture lhtdesignde  ·  9Komentar