【发布时间】:2015-02-05 18:31:32
【问题描述】:
所以我试图将我的服务器放在生产环境中。我正在使用 kraken,并且在初始化时使用几乎相同的配置。在开发中一切正常,但后来我做到了(我在 Windows 8.1 64bits 上):
set NODE_ENV=production
grunt build --force
npm start
对于根文件它工作正常,问题在于文件夹。我在命令行中使用它:
127.0.0.1 - - [08/Dec/2014:05:55:41 +0000] "GET /back/login HTTP/1.1" 500 22 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit /537.36 (KHTML,如 Gecko)Chrome/39.0.2171.71 Safari/537.36" 错误:可能 不加载模板 在 Object.onLoad (C:\Users\User\Desktop\MyProject\node_modules\engine-munger\view\js.js:38:22) 在 Object.cache.get (C:\Users\User\Desktop\MyProject\node_modules\engine-munger\lib\cache.js:59:14) 在 spclOnLoad (C:\Users\User\Desktop\MyProject\node_modules\engine-munger\lib\munger.js:75:9) 在 C:\Users\User\Desktop\MyProject\node_modules\adaro\lib\reader\file.js:62:16 在 onChunk (C:\Users\User\Desktop\MyProject\node_modules\adaro\lib\patch\index.js:69:29) 在 Chunk.map (C:\Users\User\Desktop\MyProject\node_modules\dustjs-linkedin\lib\dust.js:587:7) 在 C:\Users\User\Desktop\MyProject\node_modules\adaro\lib\patch\index.js:91:39 在 Object.dust.load [as __cabbage__] (C:\Users\User\Desktop\MyProject\node_modules\dustjs-linkedin\lib\dust.js:137:14) 在 Object.cabbage [作为负载] (C:\Users\User\Desktop\MyProject\node_modules\adaro\lib\patch\index.js:98:21) 在 Object.dust.render (C:\Users\User\Desktop\MyProject\node_modules\dustjs-linkedin\lib\dust.js:92:12)
似乎没有找到合适的路径或类似的东西。 同样在配置我有: http://pastebin.com/QsgG19Uz
我已经在 pastebin 中发布了,因为它很大。任何想法如何使这项工作? NODE_ENV=development可以在生产服务器上出问题吗?
编辑:
这是“grunt build --force”的最终输出:
43 个文件中有 432 个错误警告:任务“jshint:files”失败。使用--force,继续。运行 "clean:tmp" (clean) 任务清理 tmp...OK
运行“copyto:build”(copyto)任务复制了36个文件(0个不变), 创建了 4 个文件夹
完成,但有警告。
问题是,我在 Krakenjs 网站上的购物车示例中尝试了相同的方法,结果基本相同。
另外,它说的是警告,而不是最后的错误......
【问题讨论】:
-
是的,
development环境在生产服务器上会出问题:它不使用预编译模板,性能可能很差。您可以通过查看 kraken-js 配置目录中的配置来比较配置。 -
为什么将
--force改为grunt?这让我怀疑没有构建模板并且您忽略了错误。 grunt 的输出是什么? -
嗨@Aredridel 我已经添加了执行“grunt build --force”时得到的内容(排除文件)在“.build”创建了一个文件夹,其中包含另一个名为“templates”的文件夹,然后在里面“US/en”与“public/templates”中的内容相同,但 html 不是 js,内部是一行(大行)带有灰尘的 javascript。例如:'(function(){dust.register("terms",body_0);var bloc..."
-
这看起来不像完整的输出 - 有提到的错误,但不是您粘贴的内容。
-
而且
.build/templates确实应该包含javascript——那些是编译好的灰尘模板,可以执行了。
标签: javascript node.js kraken.js