netlify 部署中没有 node_modules

ele*_*vir 7 npm-install netlify

我已经使用 Netlify 和 git 存储库进行了持续部署设置,但到目前为止,无论我做什么,Netlify 都没有npm-install执行任何操作。当我下载部署的 zip 时,没有node_modules 文件夹,我的站点无法访问node_modules,它不在那里。我已经开始使用随机的 npm 包(lodash)来尝试安装它,但到目前为止我什么也没得到。

Netlify 说它会自动运行npm install。我尝试过不使用构建命令,也尝试添加npm install为构建命令,但都没有结果。

包.json:

{
  "name": "netlify-test",
  "version": "1.0.0",
  "description": "stuff",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/electrovir/netlify-test.git"
  },
  "author": "electrovir",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/electrovir/netlify-test/issues"
  },
  "homepage": "https://github.com/electrovir/netlify-test#readme",
  "dependencies": {
    "lodash": "^4.17.11"
  }
}
Run Code Online (Sandbox Code Playgroud)

HTML:

{
  "name": "netlify-test",
  "version": "1.0.0",
  "description": "stuff",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/electrovir/netlify-test.git"
  },
  "author": "electrovir",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/electrovir/netlify-test/issues"
  },
  "homepage": "https://github.com/electrovir/netlify-test#readme",
  "dependencies": {
    "lodash": "^4.17.11"
  }
}
Run Code Online (Sandbox Code Playgroud)

ele*_*vir 7

我花了一段时间才弄清楚这一点,但我发现. 这可以通过将“构建”命令更改为类似命令并读取部署控制台输出(将列出一个文件夹)来看到。npm installpackage.jsonlsnode_modules

但是,在运行构建命令之后和部署之前的某个时刻,它node_modules会被删除。因此,如果您使用类似于以下内容作为构建命令node_modules可以将其复制到您的发布目录

rm -rf dist && mkdir dist && rsync -rv * dist --exclude ./dist
Run Code Online (Sandbox Code Playgroud)

这会将基本目录内容复制到dist我已设置为发布目录的目录中,忽略./dist其自身(它无法复制到其自身中)。package.json如果将其作为 npm 脚本添加到npm run <script name>您的Build 命令中,那就更好了。

请注意,基本目录构建命令发布目录均位于Netlify 中的部署 > 部署设置设置 > 构建和部署下。

感谢lastmjs帮助解决这个问题。

  • 我非常非常高兴找到您的答案,但对 Netlify 需要它感到非常非常失望。 (3认同)