我一直在尝试将生产模式中的ember-cli应用程序部署到Nginx服务器上.我已经回顾了ember-cli文档并查看了其他类似的问题,例如(
How do I deploy Ember.js app developed with ember-cli on github pages?) – 这些似乎暗示在/app/config/environment.js中设置ENV.baseURL变量应解决问题,但我找不到一个适合我的价值.
由ember build –environment生成的文件位于/ Users / gordon / src / app / dist
Nginx配置看起来像:
server { listen 4200 ssl; server_name localhost; ssl_certificate /Users/gordon/src/app/server.crt; ssl_certificate_key /Users/gordon/src/app/server.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; root /Users/gordon/src/app/dist/; location / { # index index.html; try_files $uri $uri/ /index.html?/$request_uri; } }
在Users / gordon / src / app / config / environment.js中如果我将ENV.baseURL保留为默认值,我会在浏览器控制台中显示以下错误…
Uncaught TypeError: undefined is not a function vendor-70567c507a348c9884b7aba3ccaae1fd.js:14 Uncaught ReferenceError: DS is not defined
…如果我将它设置为/ Users / gordon / src / app /,/ Users / gordon / src / app / dist /或/ Users / gordon / src / app / dist我得到
Uncaught SyntaxError: Unexpected token < :4200/Users/gordon/src/sellthru/dist/assets/vendor-70567c507a348c9884b7aba3ccaae1fd.js:1 Uncaught SyntaxError: Unexpected token < :4200/Users/gordon/src/sellthru/dist/assets/sellthru-app-4b7e6077c7df38b31e70e32056d7d7aa.js:1 Uncaught ReferenceError: require is not defined
我敢肯定,我可能会错过一些简单的东西,但不能为我的生活弄明白……如果有人能够让我摆脱困境,我会很感激;-)
解决方法
感谢Jamie White,我们将问题追溯到了ember-cli-bootstrap插件.我已经删除了它并且现在手动添加了引导程序,所有这些都是甜蜜和轻盈.另见
https://github.com/stefanpenner/ember-cli/issues/1727