Svelte (rollup) - 错误:意外的令牌(注意你需要@rollup/plugin-json 来导入 JSON 文件)

Iva*_*van 5 rollup svelte

我没有做任何事情来触发这个错误。该应用程序前一秒运行良好,下一秒就不行了。

为什么会这样?这不是因为缺少@rollup/plugin-json插件,因为它以前没有它就可以工作。

错误

https://rollupjs.org/guide/en/#warning-treating-module-as-external-dependency
path (imported by  path?commonjs-external)
http (imported by  http?commonjs-external)
net (imported by  net?commonjs-external)
url (imported by  url?commonjs-external)
[!] Error: Unexpected token (Note that you need @rollup/plugin-json to import JSON files)
node_modules/mime-db/db.json (2:40)
1: {
2:   "application/1d-interleaved-parityfec": {
                                           ^
3:     "source": "iana"
4:   },
Error: Unexpected token (Note that you need @rollup/plugin-json to import JSON files)
    at error (/mnt/c/ivan/dev/lab/atlas-biotek/node_modules/rollup/dist/shared/rollup.js:5265:30)
    at Module.error (/mnt/c/ivan/dev/lab/atlas-biotek/node_modules/rollup/dist/shared/rollup.js:9835:16)
    at tryParse (/mnt/c/ivan/dev/lab/atlas-biotek/node_modules/rollup/dist/shared/rollup.js:9716:23)
    at Module.setSource (/mnt/c/ivan/dev/lab/atlas-biotek/node_modules/rollup/dist/shared/rollup.js:10142:19)
    at ModuleLoader.addModuleSource (/mnt/c/ivan/dev/lab/atlas-biotek/node_modules/rollup/dist/shared/rollup.js:18312:20)
Run Code Online (Sandbox Code Playgroud)

添加插件

npm i @rollup/plugin-json --save-dev
Run Code Online (Sandbox Code Playgroud)

汇总.js.config

https://rollupjs.org/guide/en/#warning-treating-module-as-external-dependency
path (imported by  path?commonjs-external)
http (imported by  http?commonjs-external)
net (imported by  net?commonjs-external)
url (imported by  url?commonjs-external)
[!] Error: Unexpected token (Note that you need @rollup/plugin-json to import JSON files)
node_modules/mime-db/db.json (2:40)
1: {
2:   "application/1d-interleaved-parityfec": {
                                           ^
3:     "source": "iana"
4:   },
Error: Unexpected token (Note that you need @rollup/plugin-json to import JSON files)
    at error (/mnt/c/ivan/dev/lab/atlas-biotek/node_modules/rollup/dist/shared/rollup.js:5265:30)
    at Module.error (/mnt/c/ivan/dev/lab/atlas-biotek/node_modules/rollup/dist/shared/rollup.js:9835:16)
    at tryParse (/mnt/c/ivan/dev/lab/atlas-biotek/node_modules/rollup/dist/shared/rollup.js:9716:23)
    at Module.setSource (/mnt/c/ivan/dev/lab/atlas-biotek/node_modules/rollup/dist/shared/rollup.js:10142:19)
    at ModuleLoader.addModuleSource (/mnt/c/ivan/dev/lab/atlas-biotek/node_modules/rollup/dist/shared/rollup.js:18312:20)
Run Code Online (Sandbox Code Playgroud)

客户端错误

Uncaught ReferenceError: require$$0$1 is not defined
    at main.js:5
(anonymous) @ main.js:5
Run Code Online (Sandbox Code Playgroud)

未捕获

Ste*_*ane 12

如果您使用 Typescript,我json()在之后添加了插件typescript

文件:rollup.config.js

import typescript from "rollup-plugin-typescript2";
import resolve from "@rollup/plugin-node-resolve";
import commonjs from "@rollup/plugin-commonjs";
import replace from "@rollup/plugin-replace";
import json from "@rollup/plugin-json";


const plugins = [
  typescript({
    tsconfig: "./tsconfig-build.json",
  }),
  json(), <<------------- HERE
  resolve(),
  commonjs(),
  replace({
    ...
    preventAssignment: true,
  }),
];
Run Code Online (Sandbox Code Playgroud)


Iva*_*van 6

问题是由于自动完成,我正在客户端中导入节点模块。

import { is } from "express/lib/request";
Run Code Online (Sandbox Code Playgroud)