Meteor Up部署失败,但app在开发中运行良好

时间:2016-11-05 05:47:44

标签: javascript meteor deployment meteor-up

我正在测试我的第一个Meteor应用程序的部署,并想到使用Meteor Up。在摆弄了很多之后,我设法运行mup setup没有任何错误,一切似乎都很好。

但是,运行mup deploy失败:

$ mup deploy
Building App Bundle Locally
Errors prevented bundling:
While minifying app code:
eval at <anonymous>
(/home/yanick/.meteor/packages/standard-minifier-js/.1.2.1.s85ddv++os+web.browser+web.cordova/plugin.minifyStdJS.os/npm/node_modules/meteor/minifier-js/node_modules/uglify-js/tools/node.js:28:1),
<anonymous>:1545:18: SyntaxError: Unexpected token: name (Converter)
at new JS_Parse_Error (eval at <anonymous>
(/home/yanick/.meteor/packages/standard-minifier-js/.1.2.1.s85ddv++os+web.browser+web.cordova/plugin.minifyStdJS.os/npm/node_modules/meteor/minifier-js/node_modules/uglify-js/tools/node.js:28:1),
<anonymous>:1545:18) at js_error (eval at <anonymous>
...

错误的文件似乎是Converter.js,但这个文件没什么特别的,只是导出一些JSON对象:

import Converter from 'universal-converter';

export default Converter;

export const DEFAULT_UNIT = 'unit';

export const Units = {
  'unit': {
    'type': 'unit',
    'name': 'unit'
  },
  'inch': {
    'type': 'distance',
    'name': 'inch',
    'label': 'in'
  },
  'inch2': {
    'type': 'area',
    'name': 'square inch',
    'label': 'in²'
  },
  'foot': {
    'type': 'distance',
    'name': 'foot',
    'label': 'ft'
  },
  'foot2': {
    'type': 'area',
    'name': 'square foot',
    'label': 'ft²'
  },
  'yard': {
    'type': 'distance',
    'name': 'yard',
    'label': 'yd'
  },
  'yard2': {
    'type': 'area',
    'name': 'square yard',
    'label': 'yd²'
  },
  'cm': {
    'type': 'distance',
    'name': 'centimeter',
    'label': 'cm'
  },
  'm': {
    'type': 'distance',
    'name': 'meter',
    'label': 'm'
  },
  'g': {
    'type': 'mass',
    'name': 'gram',
    'label': 'g'
  },
  'kg': {
    'type': 'mass',
    'name': 'kilogram',
    'label': 'kg'
  },
  'lb' : {
    'type': 'mass',
    'name': 'pound',
    'label': 'lb'
  },
  'oz': {
    'type': 'mass',
    'name': 'once [France]',
    'label': 'oz'
  },
  'liter': {
    'type': 'volume',
    'name': 'liter',
    'label': 'L'
  },
  'gal': {
    'type': 'volume',
    'name': 'gallon [US, liquid]',
    'label': 'Gal'
  },
  'oz_v': {
    'type': 'volume',
    'name': 'ounce [UK, liquid]',
    'label': 'oz'
  }
};

为什么meteor运行正常,但是创建应用程序包会失败?

更新1

我尝试重构我的应用目录moving the build around,没有任何变化。此命令:meteor build ../output(其中路径位于我项目的根文件夹之外)如上所述失败。

1 个答案:

答案 0 :(得分:1)

请查看to the related issue on Github。 在这个页面中,@ Abernix找到了一个临时解决方案:

在项目的根目录下,执行这些命令行:

meteor remove standard-minifier-js

meteor add abernix:standard-minifier-js@1.2.2

然后再试一次。

警告:正如@Abernix所说:

  

请不要将此视为一个长期解决方案(因为如果你继续使用官方包装会更好),但更多的调查是为了了解他们的进展情况。在它完成之前仍有工作要做,但我很好奇它是否能为你们中的任何人修复它。我的软件包正在使用uglify-js和谐分支的2.7.5版本(它仍然不被认为是稳定的,但可能适用于某些)。