我已经构建了一个Node.js应用程序,我要将prime_factors :: Int -> [Int]
prime_factors 1 = []
prime_factors n
| factors == [] = [n]
| otherwise = factors ++ prime_factors (n `div` (head factors))
where factors = take 1 $ filter (\x -> (n `mod` x) == 0) [2 .. n-1]
comp :: [Int]->Int
comp (ys)(x:xs)
|maximum prime_factors xs elem prime_factors ys == x
|otherwise tail x
kgv :: Int -> Int -> Int
kgv x y = abs ((x `quot` (comp x y)) * y)
部署到我的项目目录中并运行cd
。这有效,但在文件中我还有一个JSON文件,其作用类似于我的应用程序的数据库,我不希望在部署时在网站上更新。我似乎无法找到任何办法。如果不可能,能够远程查看JSON文件并将其数据复制到本地文件,然后部署一切也会对我有所帮助,但我似乎无法做到这一点。
答案 0 :(得分:10)
答案 1 :(得分:6)
app.yaml中有skip_files指令可排除您不想部署的路径或文件。
但是,如果您正在处理node.js项目,则必须使用.gcloudignore
文件,该文件将指定要排除的目录。
此.gcloudignore将阻止上载node_modules /目录以及所有以〜结尾的文件:
node_modules/
*~
参考文档:
1. https://cloud.google.com/sdk/gcloud/reference/topic/gcloudignore
2. https://cloud.google.com/appengine/docs/standard/nodejs/config/appref(搜索“ skip_files”)
答案 2 :(得分:1)
在这种情况下,.gcloudignore
文件将有助于阻止任何文件或目录的上传。语法与.gitignore
文件相同。
首先,您可以确保启用gcloudignore
:
gcloud config list
如果不是,则可以启用它:
gcloud config set gcloudignore/enabled true
一些gcloud
之类的gcloud functions deploy
命令可能会自动生成一个.gcloudignore
文件。
.gcloudignore
文件必须驻留在项目根文件夹中。
这是.gcloudignore
命令自动生成的gcloud function deploy
:
# This file specifies files that are *not* uploaded to Google Cloud Platform
# using gcloud. It follows the same syntax as .gitignore, with the addition of
# "#!include" directives (which insert the entries of the given .gitignore-style
# file at that point).
#
# For more information, run:
# $ gcloud topic gcloudignore
#
.gcloudignore
# If you would like to upload your .git directory, .gitignore file or files
# from your .gitignore file, remove the corresponding line
# below:
.git
.gitignore
node_modules
对于具有以下结构的NodeJS项目,这对我来说效果很好:
~/Workspace/my-project $ tree -a
.
├── .idea
│ ├── func-project.iml
│ ├── misc.xml
│ ├── modules.xml
│ ├── vcs.xml
│ └── workspace.xml
├── .gcloudignore
├── index.js
├── package-lock.json
└── package.json
在这种情况下,没有 .gcloudignore
这就是部署的内容:
然后使用以下.gcloudignore
:
.gcloudignore
.git
.gitignore
.idea
node_modules
package-lock.json
这是部署的内容:
请参见more on this。