【发布时间】: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目录。