角度ngtools / webpack(AOT)不会产生任何结果

时间:2017-08-25 19:24:09

标签: angular webpack angular-cli angular2-aot

我将使用Angular platform-server (曾经是Angular 2中的Univeral)

您可能知道,您可以使用ngc使用AOT编译器编译您的应用程序,但是因为我有一些scss/sass文件我无法使用它,另一种方法是使用ngtools/webpack做同样的事情。

不幸的是,没有关于平台服务器的官方文档(服务器端呈现,又名通用),但是我发现了这个正在进行中的文档here,我跟着它,但是当我运行时webpack它不会生成预期的aot目录。

这是我的网站:

const ngtools = require('@ngtools/webpack');
const webpack = require('webpack');
const path = require('path');

module.exports = {
  devtool: 'source-map',
  entry: {
    main: [
      path.join(__dirname, 'src/uni/app-server.module.ts'),
      path.join(__dirname, '/src/uni/universal-server.ts')
    ]
  },
  resolve: {
    extensions: ['.ts', '.js']
  },
  target: 'node',
  output: {
    path: path.join(__dirname, '/src/dist'),
    filename: 'server.js'
  },
  plugins: [
    new ngtools.AotPlugin({
      tsConfigPath: './tsconfig-uni.json',
      entryModule: './src/app/app.module#AppModule'
    })
  ],
  module: {
    rules: [
      {
        test: /\.scss$/, use: [{
        loader: "style-loader"
      }, {
        loader: "css-loader"
      }, {
        loader: "sass-loader"
      }]
      },
      {test: /\.css$/, loader: 'raw-loader'},
      {test: /\.html$/, loader: 'raw-loader'},
      {test: /\.ts$/, loader: '@ngtools/webpack'}
    ]
  }
}

这是我的应用程序的打字稿配置:

{
  "compilerOptions": {
    "target": "es5",
    "module": "es2015",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": ["es2015", "dom"],
    "noImplicitAny": true,
    "suppressImplicitAnyIndexErrors": true,
    "typeRoots": [
      "./node_modules/@types/"
    ]
  },

  "files": [
    "./src/uni/app-server.module.ts",
    "./src/uni/universal-server.ts"
  ],

  "angularCompilerOptions": {
    "genDir": "aot",
    "skipMetadataEmit" : true
  }
}

我确实希望返回一些内容并为我生成aot目录!但它失败并返回此错误:

WARNING in ./node_modules/express/lib/view.js
79:29-41 Critical dependency: the request of a dependency is an expression

ERROR in ./src/uni/universal-server.ts
Module not found: Error: Can't resolve '../../aot/src/uni/app-server.module.ngfactory' in '/home//website/src/uni'
 @ ./src/uni/universal-server.ts 7:0-89
 @ multi ./src/uni/app-server.module.ts ./src/uni/universal-server.ts

ERROR in self is not defined

ERROR in /home/website/src/uni/universal-server.ts (7,40): Cannot find module '../../aot/src/uni/app-server.module.ngfactory'.

0 个答案:

没有答案