【问题标题】:How to tell package.json to look for in a subfolder to build an app如何告诉 package.json 在子文件夹中查找以构建应用程序
【发布时间】:2017-02-10 15:43:55
【问题描述】:

我在名为 client 的子文件夹中创建了“create-react-app”。我的 package.json 必须在根目录中(heroku)。

这是结构:

  - app
    - client
      - node_modules
      - index.js
      - components
    - ...
    - package.json
    - Procfile

这是我的 package.json 文件:

{
  "name": "client",
  "version": "0.1.0",
  "private": true,
  "proxy": "http://localhost:3001/",
  "devDependencies": {
    "react-scripts": "0.6.1"
  },
  "dependencies": {
    "babel-loader": "^6.2.5",
    "babel-preset-es2015": "^6.14.0",
    "babel-preset-react": "^6.11.1",
    "firebase": "^3.4.1",
    "jquery": "^3.1.1",
    "react": "^15.3.2",
    "react-dom": "^15.3.2"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }
}

如何告诉 package.json 在客户端子文件夹中查找应用程序并在那里构建它?

【问题讨论】:

    标签: node.js reactjs heroku package


    【解决方案1】:

    您可以像这样设置 NODE_PATH 环境变量:

    export NODE_PATH=path/to/app/node_modules
    

    您可以在官方文档中找到有关它的更多信息: https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders

    【讨论】:

    • 谢谢阿尔贝托。也许是个愚蠢的问题,但我可以在哪里/如何在 Node 中设置 env?我应该将它添加到 package.json / console 还是其他东西?谢谢!
    • 有不同的方式来设置环境变量: - 你可以在运行 npm install 之前在你的 shell 中简单地输入它。关闭终端后,该环境变量将被删除 - 您可以在 .bashrc 文件中设置它。它将永久保存(在您的情况下,我不建议这样做)
    • 谢谢。于是我去 cd myapp,输入:export NODE_PATH=client/node_modules/ 然后输入 npm start: react-scripts: command not found + Local package.json 存在,但是 node_modules 不见了,你的意思是要安装吗?我很确定路径是正确的。是不是我做错了什么?
    猜你喜欢
    • 2019-07-08
    • 2016-11-15
    • 2012-05-10
    • 2015-10-31
    • 1970-01-01
    • 2020-08-29
    • 2018-03-06
    • 2016-12-09
    • 2018-12-09
    相关资源
    最近更新 更多