【问题标题】:Can next.js and React.js work without Webpack?next.js 和 React.js 可以在没有 Webpack 的情况下工作吗?
【发布时间】:2021-12-30 08:22:17
【问题描述】:

你知道我的配置在没有安装 webpack 的情况下是如何工作的吗?此配置最初仅用于使用 Jest 练习测试,但命令“npm run dev”成功打印页面。根据我的代码,我的浏览器是巧合吗?

"scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "test": "jest"
  },
  "dependencies": {
    "axios": "^0.24.0",
    "fetch": "^1.1.0",
    "next": "10.1.3",
    "node-fetch": "^3.1.0",
    "react": "17.0.2",
    "react-dom": "17.0.2"
  },
  "devDependencies": {
    "@babel/preset-env": "^7.13.12",
    "@babel/preset-typescript": "^7.13.0",
    "@testing-library/dom": "^7.30.3",
    "@testing-library/jest-dom": "^5.11.10",
    "@testing-library/react": "^11.2.6",
    "@types/node": "^14.14.37",
    "@types/react": "^17.0.3",
    "babel-jest": "^26.6.3",
    "identity-obj-proxy": "^3.0.0",
    "jest": "^26.6.3",
    "jest-cli": "^26.6.3",
    "jest-dom": "^4.0.0",
    "jest-svg-transformer": "^1.0.0",
    "react-test-renderer": "^17.0.2",
    "ts-jest": "^27.1.2",
    "ts-node": "^9.1.1",
    "typescript": "^4.2.3"
  }
}

感谢您的帮助。

【问题讨论】:

  • 一个不需要显式安装其他依赖项需要的所有依赖项。安装next 时会安装 Webpack。打开你的锁文件,你会看到所有的依赖和传递依赖。此外,Next.js 有许多包的预编译版本(使用 vercel/ncc),即使在锁定文件中也不会出现。
  • 只有 pnp-webpack-plugin 在 package-lock 中可见,但应该是等价的
  • 实际上,webpack 是由 Next.js 预编译(并打补丁)的。在node_modules/next 内部查找dist/compiled/webpack 目录。

标签: reactjs webpack next.js


【解决方案1】:

【讨论】:

  • 那个 package.json 文件是 react 团队在开发过程中使用的(注意 private: true 在顶部),它与他们发布到 npm 的不同。 Webpack 与 next.js 捆绑在一起,这就是 OP 不需要显式安装它的原因。
【解决方案2】:

Next.js 有针对这种情况的内部配置文件。我认为您可以查看 next.config.js 文件以查看 webpack 配置。

看看这个link

【讨论】:

    猜你喜欢
    • 2019-01-14
    • 2014-08-22
    • 1970-01-01
    • 1970-01-01
    • 2018-07-28
    • 2018-07-15
    • 1970-01-01
    • 2019-03-27
    • 2017-07-23
    相关资源
    最近更新 更多