我使用的是通用角度,并使用: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']
},
...