npm build (nuxt build) 不会使用 nuxt spa 模式在 amplify(aws codebuild) 中创建 dist 文件夹

ISS*_*UKI 4 single-page-application vue.js aws-codebuild nuxt.js aws-amplify

我想在 amplify 中运行“npm build”(nuxt build) 后创建 dist 文件夹。

我在本地(mac)中运行 npm build ,然后创建 dist 文件夹。

我在 'npm build' 之后运行 'ls -a' ,然后 amplify 中不存在 dist 文件夹。

                                 > nuxt build
2019-08-20T01:49:08.598Z [INFO]: # Executing command: ls -a
2019-08-20T01:49:08.602Z [INFO]: .
                                 ..
                                 amplify.sh
                                 amplify.yml
                                 assets
                                 components
                                 .editorconfig
                                 .eslintrc.js
                                 .git
                                 .gitignore
                                 layouts
                                 middleware
                                 node_modules
                                 .nuxt
                                 nuxt.config.js
                                 package.json
                                 package-lock.json
                                 pages
                                 plugins
                                 .prettierrc
                                 README.md
                                 static
                                 store
                                 .vscode
                                 yarn.lock
                                 # Completed phase: build
Run Code Online (Sandbox Code Playgroud)

这是package.json

    {
        ...
        "scripts": {
        "dev": "nuxt",
        "build": "nuxt build",
        "start": "nuxt start",
        "generate": "nuxt generate",
        "lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
        "precommit": "npm run lint"
      },
Run Code Online (Sandbox Code Playgroud)

这是 amplify.yml

version: 0.1
frontend:
  phases:
    preBuild:
      commands:
        - npm install
    build:
      commands:
        - npm run build 
        - ls -a
  artifacts:
    # IMPORTANT - Please verify your build output directory
    baseDirectory:
        dist
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*
Run Code Online (Sandbox Code Playgroud)

我正在等待您的答复,谢谢。

njj*_*nex 5

来自 Nuxt 文档:https://nuxtjs.org/docs/2.x/directory-struct/dist

dist文件夹,分发文件夹缩写。它是使用nuxtgenerate命令时动态生成的,并包含生成的生产就绪 HTML 文件和部署和运行静态生成的 Nuxt.js 应用程序所需的资产。

- npm rungenerate包含到您的 amplify 构建命令中将解决此问题

version: 1
frontend:
  phases:
    preBuild:
      commands:
        - npm install
    build:
      commands:
        - npm run generate
        - npm run build
  artifacts:
    baseDirectory: dist
  ...
Run Code Online (Sandbox Code Playgroud)