我使用的是通用角度,并使用:npm run build:ssr建立0错误的页面。然后我运行:npm run serve:ssr并得到此错误:

\node_modules\ngx-select-dropdown\dist\components\ngx-select-dropdown-component\ngx-select-dropdown.component.js:9

     (ngx-select-dropdown)    import { Component, Input, EventEmitter, Output, HostListener, ViewChildren...
                                     ^
        SyntaxError: Unexpected token {


看来ngx-select-dropdown导致了此错误。如何解决此错误,以便可以运行ssr?

Tsconfig:

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ]
  }
}

最佳答案

在您的webpack.server.config.js文件中,尝试添加外部配置

const nodeExternals = require('webpack-node-externals');
module.exports = {
...
  target: 'node',
  externals: [nodeExternals({
    // this WILL include
    whitelist: [
        /^ngx-bootstrap/,
        /^ngx-select-dropdown/
    ]
  })],
  resolve: {
    extensions: ['.ts', '.js']
  },
...

07-28 03:11
查看更多