1

当我为部署执行 'meteor build .../output --server-only' 时,出现错误:this.compilerCli.createCompilerHost is not a function

我将项目 Meteor@1.5.4.1 升级为 Meteor@1.6.1.1,去掉了 angular2-compilers 并添加了 angular-compilers,并做了相关的修改。该项目运行良好,但是,用于部署的构建会引发错误。虽然流星版本是 1.5.4.1,但没有问题。

Ubuntu版本:Ubuntu 17.10

流星版本:METEOR@1.6.1.1

角度版本:4.4.7

edge@edge-VirtualBox:~/Repos/webapp-ui$ meteor build ../output --server-only
[client]: Collecting TypeScript source files: 2.898ms
TypeScript Host Created.: 0.436ms
TypeScript Program Created.: 1831.779ms
[client]: HTML Files Compilation: 105.252ms  |
[client]: SCSS Files Compilation: 232.564ms  |
WARN: Output exceeds 32000 characters        \
[server]: Collecting TypeScript source files: 2.736ms
TypeScript Host Created.: 0.073ms
TypeScript Program Created.: 245.550ms
[server]: HTML Files Compilation: 0.020ms    |
[server]: SCSS Files Compilation: 0.038ms    |
Errors prevented bundling:                    
While processing files with angular-compilers (for target web.browser):
packages/angular-typescript-compiler/index.js:428:29: this.compilerCli.createCompilerHost is not a
function
at AngularTsCompiler.createCompilerHost (packages/angular-typescript-compiler/index.js:428:29)
at Promise.asyncApply (packages/angular-typescript-compiler/index.js:323:31)
at
/home/edge/.meteor/packages/mys_fonts/.0.0.2.150p9hr++os+web.browser+web.cordova/plugin.compileFonts.os/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:33:40


While processing files with angular-compilers (for target os.linux.x86_64):
packages/angular-typescript-compiler/index.js:428:29: this.compilerCli.createCompilerHost is not a
function
at AngularTsCompiler.createCompilerHost (packages/angular-typescript-compiler/index.js:428:29)
at Promise.asyncApply (packages/angular-typescript-compiler/index.js:323:31)
at
/home/edge/.meteor/packages/mys_fonts/.0.0.2.150p9hr++os+web.browser+web.cordova/plugin.compileFonts.os/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:33:40

流星包:

meteor-base@1.3.0 # Packages every Meteor app needs to have
mobile-experience@1.0.5 # Packages for a great mobile UX
mongo@1.4.2 # The database Meteor supports right now
reactive-var@1.0.11 # Reactive variable for tracker
jquery@1.11.10 # Helpful client-side library
tracker@1.1.3 # Meteor’s client-side reactive programming library

standard-minifier-css@1.4.0 # CSS minifier run for production mode
es5-shim@4.7.0 # ECMAScript 5 compatibility for older browsers
ecmascript@0.10.6 # Enable ECMAScript2015+ syntax in app code

mys:fonts
check@1.3.0
fortawesome:fontawesome
twbs:bootstrap
mrt:moment-timezone
dynamic-import@0.3.0
abernix:standard-minifier-js
browser-policy@1.1.0
momentjs:moment
session@1.1.7
http@1.4.0
angular-compilers@0.3.2

我很感激帮助。问候!

4

1 回答 1

0

捆绑一个角度流星应用程序比在开发模式下运行要麻烦得多。我的应用程序遇到了复杂的问题,在开发模式下运行良好。

在我看来,该错误似乎缺少 angular cli 或 typescript,因为这就是 compilerhost 的来源。

引用角度流星回购:

Angular 的 compiler-cli 和其他库是这个包的对等依赖项,因此您需要将它们添加到您的项目中。

$meteor npm install @angular/core @angular/common @angular/compiler @angular/compiler-cli typescript --save-dev

于 2018-07-29T00:18:50.957 回答