【问题标题】:sails.js - change public folder to be different than .tmp/publicsails.js - 将公用文件夹更改为不同于 .tmp/public
【发布时间】:2016-06-24 14:18:28
【问题描述】:

我重新设计了sails.js 资产流以满足我的需求。我将我的公共资产存储在 /assets/dist 中。

是否有任何简单的方法可以将sails 应用程序配置为使用我自己的公共文件夹而不是默认的“/.tmp/public”?

我知道有通过 /config/local.js 配置它的选项,但我想在其他地方配置它(如果可能的话),所以它不会只与当前机器相关,它会包含在 git repo 中。

【问题讨论】:

    标签: javascript node.js sails.js


    【解决方案1】:

    上一个答案显然不起作用sails.js 的最新版本。 According this 除非您使用 .sailsrc,否则您无法更改路径。

    例如:

    {
      "paths": {
            "tmp": "dist/assets",
            "public": "dist/assets"
        }
    }
    

    【讨论】:

      【解决方案2】:

      您可以在这里找到几个不同的答案:https://github.com/balderdashy/sails/issues/709

      看起来最简单的方法是将其添加到您的 config/local.js 文件中:

      path: {tmp: ..., public: ...}
      

      更新:

      您可以通过导航至:node_modules/sails/lib/app/configuration/index.js 找到默认的 paths 设置。如果您滚动到该文件的底部附近,您将看到:

      // Built-in path defaults
      paths: {
          tmp: path.resolve(appPath, '.tmp')
      },
      

      如果您在 config 文件夹中创建一个名为 paths.js 的新文件并将此代码添加到其中,您可以覆盖/添加更多默认路径到您的 Sails 应用程序:

      module.exports.paths = {
          "tmp" : "assets/dist",
          "public" : "assets/dist"
      };
      

      【讨论】:

      • 感谢您的回复。但我正在寻找其他方式。因为 config/local.js 不包含在存储库中,我想在所有环境中全局更改它。
      • 您可以尝试编辑核心文件。从您的项目根目录转到靠近那里的node_modules/sails/lib/app/configuration/index.js,有一个路径对象将tmp 分配给appPath .tmp
      • 感谢您将我指向该文件。我终于能够解决这个问题。我创建了内容为module.exports.paths = { "tmp" : "assets/dist", "public" : "assets/dist" } 的新配置文件(config/paths.js),它最终为我提供了我的资产。您能否更新您的答案以便我接受?
      • 我们可以添加多个公共路径吗?
      • 我已经一年多没有在 Sails 工作了,我不确定。我想有一种方法,@mikermcneil 或许可以提供帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-22
      • 1970-01-01
      • 1970-01-01
      • 2015-07-23
      • 2021-07-23
      • 2019-07-27
      • 1970-01-01
      相关资源
      最近更新 更多