Angular 角度服务器端渲染:如何在;isBrowser=false";

Angular 角度服务器端渲染:如何在;isBrowser=false";,angular,angular-cli,server-side-rendering,Angular,Angular Cli,Server Side Rendering,其中一个组件具有以下导入功能: import * as mapBoxGlClient from 'mapbox-gl/dist/mapbox-gl.js'; 所有构建都有效。 但当我运行node时: node main.server.bundle.js 我得到了这个错误: Cannot read property 'hardwareConcurrency' of undefined 经过调查,我意识到mapbox需要window.navigator、browse等所有不能在服务器中使用的

其中一个组件具有以下导入功能:

import * as  mapBoxGlClient from 'mapbox-gl/dist/mapbox-gl.js';
所有构建都有效。 但当我运行node时:

node main.server.bundle.js
我得到了这个错误:

Cannot read property 'hardwareConcurrency' of undefined
经过调查,我意识到mapbox需要window.navigator、browse等所有不能在服务器中使用的东西

所以我的问题是,有没有办法跳过导入,或者其他任何想法都会受到欢迎


谢谢

问题不在于导入(导入在代码运行之前被解析和解决),而在于使用来自导入的内容的代码。据我所知,没有办法有条件地导入内容,但无论您是否在浏览器环境中,您都可以有条件地执行代码。

问题不在于导入(在运行代码之前解析和解决导入),而在于使用这些内容的代码。据我所知,无法有条件地导入内容,但无论您是否在浏览器环境中,都可以有条件地执行代码。

如果'isBrowser=false',我不会显示此组件。我认为问题出在mapbox中,我认为这段代码在创建mapBoxGlClient实例时运行。如果“isBrowser=false”,我不会显示此组件。我认为问题出在mapbox中,我认为这段代码在创建mapBoxGlClient实例时运行。