GVKun编程网logo

Angular App:找不到已安装的JS软件包的依赖项(angular懒加载找不到模块)

2

在这里,我们将给大家分享关于AngularApp:找不到已安装的JS软件包的依赖项的知识,让您更了解angular懒加载找不到模块的本质,同时也会涉及到如何更有效地@angular/fire导致非法应

在这里,我们将给大家分享关于Angular App:找不到已安装的JS软件包的依赖项的知识,让您更了解angular懒加载找不到模块的本质,同时也会涉及到如何更有效地@angular/fire 导致非法应用名称:'[object Object] (app/bad-app-name)、ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j、Angular 12.0.5 HMR 不工作,不重新加载模块,不重新加载页面实时重新加载,Angular 11.0.6 重新加载整个页面 调查 Angular 构建系统使用的版本配置 webpack使用 Angular 12.0.5 / next.6 时 - 没有帮助、Angular app-shell:如果应用代码使用任何对浏览器特定库/变量的引用,则无法构建 app-shell的内容。

本文目录一览:

Angular App:找不到已安装的JS软件包的依赖项(angular懒加载找不到模块)

Angular App:找不到已安装的JS软件包的依赖项(angular懒加载找不到模块)

如何解决Angular App:找不到已安装的JS软件包的依赖项

我使用cli创建了一个Angular应用。

创建了组件等。一切正常。 然后在我的服务中,我导入了软件包pm2dayjs。已安装npm i pm2 --save

并编写了以下代码:

import * as Pm2 from ''pm2'';
import * as DayJs from ''dayjs'';

services = [];

readPm2(): void {
    Pm2.connect((err) => {
      if (err) {
        throw (err);
      } else {
        Pm2.list((err,data) => {
          if (err) {
            throw (err);
          } else {
            data.forEach(service => {
              this.services.push({
                name: service.name,status: status[service.pm2_env.status] || ''unkNown'',cpu: `${service.monit.cpu}%`,mem: `${this.round(service.monit.memory / 1024 / 1024,2).toFixed(2)}mb`,started: DayJs(service.pm2_env.pm_uptime).format(''HH:mm:ss'')
              });
            });
          }
          Pm2.disconnect();
        });
      }
    });
  }

我之前在干净的NodeJs应用中尝试过此功能,并且一切正常。

当我现在尝试运行ng serve时,我收到大量错误的抱怨,因为它找不到几个模块,这些模块我自己都不在哪里导入。它们必须是pm2dayjs的依赖项。

以下是一些错误:

ERROR in ./node_modules/amp/lib/stream.js
Module not found: Error: Can''t resolve ''stream'' in ''/Users/hot/Documents/Dev/HOT_SP/sptools/Watchguard/node_modules/amp/lib''

ERROR in ./node_modules/charm/index.js
Module not found: Error: Can''t resolve ''stream'' in ''/Users/hot/Documents/Dev/HOT_SP/sptools/Watchguard/node_modules/charm''

ERROR in ./node_modules/mute-stream/mute.js
Module not found: Error: Can''t resolve ''stream'' in ''/Users/hot/Documents/Dev/HOT_SP/sptools/Watchguard/node_modules/mute-stream''

ERROR in ./node_modules/needle/lib/needle.js
Module not found: Error: Can''t resolve ''stream'' in ''/Users/hot/Documents/Dev/HOT_SP/sptools/Watchguard/node_modules/needle/lib''

ERROR in ./node_modules/needle/lib/parsers.js
Module not found: Error: Can''t resolve ''stream'' in ''/Users/hot/Documents/Dev/HOT_SP/sptools/Watchguard/node_modules/needle/lib''

ERROR in ./node_modules/needle/lib/decoder.js
Module not found: Error: Can''t resolve ''stream'' in ''/Users/hot/Documents/Dev/HOT_SP/sptools/Watchguard/node_modules/needle/lib''

ERROR in ./node_modules/readdirp/index.js
Module not found: Error: Can''t resolve ''stream'' in ''/Users/hot/Documents/Dev/HOT_SP/sptools/Watchguard/node_modules/readdirp''

ERROR in ./node_modules/blessed/lib/widgets/terminal.js
Module not found: Error: Can''t resolve ''term.js'' in ''/Users/hot/Documents/Dev/HOT_SP/sptools/Watchguard/node_modules/blessed/lib/widgets''

ERROR in ./node_modules/charm/index.js
Module not found: Error: Can''t resolve ''tty'' in ''/Users/hot/Documents/Dev/HOT_SP/sptools/Watchguard/node_modules/charm''

ERROR in ./node_modules/pm2/lib/Common.js
Module not found: Error: Can''t resolve ''vm'' in ''/Users/hot/Documents/Dev/HOT_SP/sptools/Watchguard/node_modules/pm2/lib''

ERROR in ./node_modules/blessed/vendor/tng.js
Module not found: Error: Can''t resolve ''zlib'' in ''/Users/hot/Documents/Dev/HOT_SP/sptools/Watchguard/node_modules/blessed/vendor''

ERROR in ./node_modules/pm2-deploy/deploy 1:0
Module parse Failed: Unexpected character ''#'' (1:0)
You may need an appropriate loader to handle this file type,currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
> #!/usr/bin/env bash
| 
| #

ERROR in ./node_modules/fsevents/fsevents.node 1:0
Module parse Failed: Unexpected character ''�'' (1:0)
You may need an appropriate loader to handle this file type,currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
(Source code omitted for this binary file)

如果我在package.json中添加以下内容:

"browser": {
    "stream": false,"os": false,"fs": false
}

这些模块的错误消息不再通过运行serve命令出现。但这是解决此问题的正确解决方案吗?我需要在此列表中添加20个软件包。

如果认为这可能是一个问题,因为这些缺少的依赖项在纯Js中,因此我尝试添加:

"allowJs": true

致我的tsconfig.json无法解决此问题。

有人可以向我解释一下,并为此提供解决方案。

@angular/fire 导致非法应用名称:'[object Object] (app/bad-app-name)

@angular/fire 导致非法应用名称:'[object Object] (app/bad-app-name)

如何解决@angular/fire 导致非法应用名称:''[object Object] (app/bad-app-name)

我目前正在使用 Stackblitz 来构建一个使用 @angular/fire 组件的应用程序原型。

我正在使用 @angular/fire 的 5.0.2 版本,并按如下方式设置了配置(在 app.module.ts 中)

import { NgModule } from "@angular/core";
import { browserModule } from "@angular/platform-browser";
import { RouteReuseStrategy } from "@angular/router";
import { HttpClientModule } from "@angular/common/http";
import { browserAnimationsModule } from "@angular/platform-browser/animations";
import { IonicModule,IonicRouteStrategy } from "@ionic/angular";
import { SplashScreen } from "@ionic-native/splash-screen/ngx";
import { StatusBar } from "@ionic-native/status-bar/ngx";
import { AppComponent } from "./app.component";
import { AppRoutingModule } from "./app-routing.module";
import { FormsModule } from "@angular/forms";

// Firebase Modules
import { AngularFireModule } from "@angular/fire";
import { AngularFireAuthModule } from "@angular/fire/auth";

export const config = {
  apiKey: "...",authDomain: "...",projectId: "...",storageBucket: "...",messagingSenderId: "...",appId: "..."
};

@NgModule({
  declarations: [AppComponent],entryComponents: [],imports: [
    browserModule,// Firebase Modules
    AngularFireModule.initializeApp(config),AngularFireAuthModule,FormsModule,HttpClientModule,IonicModule.forRoot(),AppRoutingModule,browserAnimationsModule
  ],providers: [
    StatusBar,SplashScreen,{ provide: RouteReuseStrategy,useClass: IonicRouteStrategy }
  ],bootstrap: [AppComponent]
})
export class AppModule {}

为了测试模块的功能,我将模块应用程序组件添加到构造函数(在 app.component.ts 中找到)

import { Component } from "@angular/core";

import { Platform } from "@ionic/angular";
import { SplashScreen } from "@ionic-native/splash-screen/ngx";
import { StatusBar } from "@ionic-native/status-bar/ngx";

// Importing firebase authentication
import { AngularFireAuth } from "@angular/fire/auth";

@Component({
  selector: "app-root",templateUrl: "app.component.html"
})
export class AppComponent {
  constructor(
    private platform: Platform,private splashScreen: SplashScreen,private statusBar: StatusBar,// ADDING THIS PART CAUSES THE ERROR
    public authentication: AngularFireAuth

  ) {
    this.initializeApp();
  }

  initializeApp() {
    this.platform.ready().then(() => {
      this.statusBar.styleDefault();
      this.splashScreen.hide();
    });
  }
}

在构造函数中添加该行后,错误出现。

Error: Firebase: Illegal App name: ''[object Object] (app/bad-app-name).

这个项目是我在学校的主要工作的一部分,我在互联网上尝试了各种解决方案,但都没有成功。

任何帮助将不胜感激。提前谢谢你!!

ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j

ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j

如何解决ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j

我正在Rails上执行此应用程序,页面加载正常,但在控制台中显示:

Started GET "/vendor/assets/stylesheets/bootstrap.min.css" for ::1 at 2020-08-17 09:09:51 -0500

Started GET "/vendor/assets/javascripts/bootstrap.min.js" for ::1 at 2020-08-17 09:09:51 -0500
ActionController::RoutingError (No route matches [GET] 
"/vendor/assets/stylesheets/bootstrap.min.css"):
ActionController::RoutingError (No route matches [GET] 
"/vendor/assets/javascripts/bootstrap.min.js"):

在我的供应商文件夹中,我同时拥有文件夹,javascript和样式表,并分别位于各自的bootsrtrap.min中。 即使在application.html.erb中,我也有以下内容:

  <link href="vendor/assets/stylesheets/bootstrap.min.css" rel="stylesheet">
  <%= csrf_Meta_tags %>
  <%= stylesheet_link_tag    ''application'',media: ''all'',''data-turbolinks-track'': ''reload'' %>
  <%= javascript_include_tag ''application'',''data-turbolinks-track'': ''reload'' %>

</head>
<body>

  <!-- Navigation -->
  <nav>
    <div>
      <ahref="#">Instagram Clone</a>
      <buttontype="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
        <span></span>
      </button>
      <divid="navbarResponsive">
        <ul>
          <li>
            <ahref="#">Home
              <span>(current)</span>
            </a>
          </li>
          <li>
            <ahref="#">About</a>
          </li>
          <li>
            <ahref="#">Services</a>
          </li>
          <li>
            <ahref="#">Contact</a>
          </li>
        </ul>
      </div>
    </div>
  </nav>

  <!-- Page Content -->
  <div>
    <div>
      <div>
        <%= yield %>
      </div>
    </div>
  </div>

  <!-- Bootstrap core JavaScript -->
  <!--<script src="vendor/jquery/jquery.slim.min.js"></script>-->
  <script src="vendor/assets/javascripts/bootstrap.min.js"></script>
    
</body>
</html>

在js和CSS这两个应用程序文件中,我都放置了“ require bootsrtrap.min”,即使该错误仍然出现在控制台中。 会是什么?

解决方法

RoR不使用目录作为文件夹结构指示。因为有资产装载者。您应该将5s或更少的css导入application.css中,并将js导入application.js中。并使用自己的助手添加捆绑文件:

1。用纱安装靴子

yarn add bootstrap @popperjs/core jquery

npm i bootstrap @popperjs/core jquery

栏位不超过5

2。在Assets Pipeline中导入文件

app / assets / stylesheets / application.css:

//...
require bootstrap/dist/css/bootstrap.min
//...

但是,如果需要,我建议使用SCSS并仅导入所需的样式。

app / assets / javascript / application.js:

//...
//= require jquery
//= require @popperjs/core
//= require bootstrap/dist/js/bootstrap.min
//...

3。在布局中导入资产

app / views / layout / application.html.erb:

<head>
...
  <%= stylesheet_link_tag ''application'',media: ''all'' %>
</head>
<body>
...
  <%= javascript_include_tag ''application'' %>
</body>

使用webpack滚动6

2。在application.scss和application.js中导入Bootstrap

app / javascript / stylesheets / application.scss:

//...
import ''bootstrap''
//...

app / javascript / packs / application.js:

import ''jquery''
import ''popper.js''
import ''bootstrap''
import ''../stylesheets/application''

3。在布局中导入捆绑包

<head>
...
  <%= stylesheet_pack_tag ''application'',media: ''all'',''data-turbolinks-track'': ''reload'' %>
  <%= javascript_pack_tag ''application'',''data-turbolinks-track'': ''reload'' %>
</head>

之后,您应该可以在所有应用程序中使用引导程序!

,

[解决方案]因此,在我的HTML(application.html.erb)内部,我有两个对js和css文件的调用:

<script src="assets/javascripts/bootstrap.min.js"></script>
  <%= javascript_include_tag ''application'',''data-turbolinks-track'': ''reload'' %>       
<link href="assets/stylesheets/bootstrap.min.css" rel="stylesheet">
  <%= csrf_meta_tags %>
  <%= stylesheet_link_tag    ''application'',''data-turbolinks-track'': 
  ''reload'' %>

正如您在上面看到的那样,在使用javascript的情况下,我有一个使用脚本的调用,而另一个使用了的调用,两者都造成了问题,所以您只需要评论一个,我就对该脚本进行评论对于我的java文件和CSS文件,一个。 像这样:

  <!--<link href="assets/stylesheets/bootstrap.min.css" rel="stylesheet">-->
    <!--<script src="assets/javascripts/bootstrap.min.js"></script>-->

对我来说,解决了这个问题,我真的尝试了所有事情,这就是解决方案哈哈。

Angular 12.0.5 HMR 不工作,不重新加载模块,不重新加载页面实时重新加载,Angular 11.0.6 重新加载整个页面 调查 Angular 构建系统使用的版本配置 webpack使用 Angular 12.0.5 / next.6 时 - 没有帮助

Angular 12.0.5 HMR 不工作,不重新加载模块,不重新加载页面实时重新加载,Angular 11.0.6 重新加载整个页面 调查 Angular 构建系统使用的版本配置 webpack使用 Angular 12.0.5 / next.6 时 - 没有帮助

如何解决Angular 12.0.5 HMR 不工作,不重新加载模块,不重新加载页面实时重新加载,Angular 11.0.6 重新加载整个页面 调查 Angular 构建系统使用的版本配置 webpack使用 Angular 12.0.5 / next.6 时 - 没有帮助

Angular HMR 不替换/重新加载组件

任何人都可以使用它并且可以提供一个有效的示例应用程序?

给定:一个简单的入门应用

(来自故事书 https://github.com/chromaui/intro-storybook-angular-template)

使用 Angular 11.0.6

然后 HMR 开箱即用并不能按预期工作,但完全重新加载可以(即启用 [WDS] 实时重新加载。)

更新到 Angular 12.0.5 时

然后 HMR 不会重新加载任何东西。 (根本没有实时重新加载)

12.0.5 行为:更新角度组件时不重新加载。

控制台错误(chrome):

dev-server.js:60 Uncaught Error: [HMR] Hot Module Replacement is disabled.
    at Object.5033 (dev-server.js:60)
    at __webpack_require__ (bootstrap:19)
    at __webpack_exec__ (polyfills.js:12907)
    at polyfills.js:12908
    at webpackJsonpCallback (jsonp chunk loading:35)
    at polyfills.js:1

编辑组件 (HTML) 后,控制台“卡住”“[WDS] 应用热更新...”

更新到 Angular 12.1.0-next.6 时"

结果与 v11 相同(然后 HMR 开箱即用,但完全重新加载可以(即启用 [WDS] 实时重新加载。)

webpack-dev-server 是原因(可能与 webpack 5.3 一起)

经过一番挖掘,我意识到这与 webpack-dev-server 有关。

一个解决方案似乎是将 webpack 目标设置为 web(而不是浏览器)进行开发。或者使用测试版的 webpack-dev-server(即 4.0.0-beta.x)

"target: ''web'',

调查 Angular 构建系统使用的版本

在“node_modules/@angular-devkit/build-webpack/package.json”中使用了 webpack-dev-server。

对于 "@angular-devkit/build-angular": "~12.0.5",webpack-dev-server 版本为 3.11.2

"peerDependencies": { "webpack": "^5.30.0","webpack-dev-server": "^3.11.2" },

将 Angular 更新为 v-next 时 对于 "@angular-devkit/build-angular": "^12.1.0-next.6",webpack-dev-server 版本较低,为 3.1.4,与 ''build-angular'' v11 相同。 (可能是因为他们意识到实时重新加载的问题)

"peerDependencies": { "webpack": "^5.30.0","webpack-dev-server": "^3.1.4" },

使用 Angular 11 时 对于“@angular-devkit/build-angular”:“~0.1100.6”

"peerDependencies": { "webpack": "^4.6.0",

配置 webpack(使用 Angular 12.0.5 / next.6 时) - 没有帮助

根据以下资源配置,使用@angular-builders/custom-webpack

没有帮助。帮助! =D

//package.json
"devDependencies": {
    "@angular-builders/custom-webpack": "^12.1.0",
//angular.json
//replace "builder" in "build" and "serve"
//add customWebpackConfig with path to a new config file
//"builder": "@angular-devkit/build-angular:browser"
    "architect": {
        "build": {
          "builder": "@angular-builders/custom-webpack:browser","options": {
            "customWebpackConfig": {
              "path": "extra-webpack.config.ts","replaceDuplicatePlugins": true
           },//...
         //replace   "builder": "@angular-devkit/build-angular:dev-server","serve": {
           "builder": "@angular-builders/custom-webpack:dev-server",
//extra-webpack.config.ts
import { Configuration } from "webpack";

export default {
    target:"web",// target: process.env.NODE_ENV === "development" ? "web" : "browserslist",} as Configuration;

解决方法

我们有一些与您介绍的类似的东西。您是否删除了 package_lock、node_modules 并进行了全新安装?

在 Angular 11.2.4 和新的 Angular 12.1.4 项目中,使用 HRM 进行设置没有问题。 尝试使用 "@angular-builders/custom-webpack": "12.1.0","@angular-devkit/build-angular": "^12.1.4" 它应该可以工作

Angular app-shell:如果应用代码使用任何对浏览器特定库/变量的引用,则无法构建 app-shell

Angular app-shell:如果应用代码使用任何对浏览器特定库/变量的引用,则无法构建 app-shell

如何解决Angular app-shell:如果应用代码使用任何对浏览器特定库/变量的引用,则无法构建 app-shell

我无法在 Angular 10 中获取新生成的 app-shell。我的应用程序引用了包 ol,其中包含一些使用 Blob 的 webworker 源代码。这会导致 ng run my-app-name:app-shell 失败

× Application shell generation Failed.
Blob is not defined

我曾尝试做类似的事情

import * as Blob from ''cross-blob'';
globalThis.Blob = Blob;
global.Blob = Blob;

在我的 main.server.ts 中,但我仍然遇到问题,我想不出任何方法来解决这个问题。

 - Generating application shell...
 - Unhandled Promise rejection: Blob is not defined ; Zone: <root> ;
   Task: Promise.then ; Value: ReferenceError: Blob is not defined

    at Module.f9GY (<app-name-and-path>\\server\\main.js:194868:12)
    at __webpack_require__ (<app-name-and-path>\\server\\main.js:20:30)
etc.

今天关于Angular App:找不到已安装的JS软件包的依赖项angular懒加载找不到模块的介绍到此结束,谢谢您的阅读,有关@angular/fire 导致非法应用名称:'[object Object] (app/bad-app-name)、ActionController :: RoutingError没有路由与[GET]“ / vendor / assets / stylesheets / bootstrap.min.css”匹配 app / assets / stylesheets / application.css: app / assets / javascript / application.js: app / views / layout / application.html.erb: app / j、Angular 12.0.5 HMR 不工作,不重新加载模块,不重新加载页面实时重新加载,Angular 11.0.6 重新加载整个页面 调查 Angular 构建系统使用的版本配置 webpack使用 Angular 12.0.5 / next.6 时 - 没有帮助、Angular app-shell:如果应用代码使用任何对浏览器特定库/变量的引用,则无法构建 app-shell等更多相关知识的信息可以在本站进行查询。

本文标签:

上一篇无法在macOS上找到“ Frameworks / App.framework / flutter_assets”的资产路径(无法在您的库中找到prodefs)

下一篇Azure Logic App SFTP-SSH连接失败(azure connect)