【发布时间】:2020-09-06 06:42:33
【问题描述】:
以前我的项目设置是
public
.next
src
pages
components
assets
next.config.js
这工作正常,但我将结构更改为以下
public
src
client
next.config.js
jsconfig.json
pages
components
assets
server
index.js
现在这个不工作了。我收到错误Couldn't find apagesdirectory. Please create one under the project root
这是我更新的 next.config.js
const withPlugins = require("next-compose-plugins");
const optimizedImages = require("next-optimized-images");
const withPWA = require("next-pwa");
module.exports = withPlugins(
[optimizedImages],
[
withPWA({
pwa: {
dest: "public",
},
}),
],
{
distDir: '../../dist/client',
}
);
对于绝对导入(从“组件/按钮”导入按钮)
jsconfig.json
{
"compilerOptions": {
"baseUrl": "client/"
}
}
package.json
"scripts": {
"dev:client": "nextjs src/client",
"dev:server": "node src/server --out-dir dist/server --source-maps --watch",
"dev": "dotenv -e .env.development yarn dev:client & yarn dev:server",
"build": "yarn build:client && yarn build:server",
"build:client": "dotenv -e .env.production next build src/client",
"build:server": "node src/server --out-dir dist/server --source-maps",
"build:staging": "yarn build:staging:client && yarn build:server",
"build:staging:client": "dotenv -e .env.staging next build src/client",
"start": "next start",
},
.babelrc
{
"plugins": [
[
"styled-components",
{
"ssr": true,
"displayName": true,
"preprocess": false
}
]
],
"presets": [
"next/babel"
]
}
【问题讨论】:
标签: javascript reactjs next.js