Unable to load ng2-fullpage in my angular-2 quickstart app

∥☆過路亽.° 提交于 2019-12-02 05:37:50

问题


I am trying to use full page + angular2:

I am somehow unable to load the ng2-fullpage package to use, below are my files:

systemjs.config.js

(function (global) {
  System.config({
    paths: {
      // paths serve as alias
      'npm:': 'node_modules/'
    },
    // map tells the System loader where to look for things
    map: {
      // our app is within the app folder
      app: 'app',

      // angular bundles
      '@angular/core': 'npm:@angular/core/bundles/core.umd.js',
      '@angular/common': 'npm:@angular/common/bundles/common.umd.js',
      '@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.js',
      '@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.js',
      '@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js',
      '@angular/http': 'npm:@angular/http/bundles/http.umd.js',
      '@angular/router': 'npm:@angular/router/bundles/router.umd.js',
      '@angular/forms': 'npm:@angular/forms/bundles/forms.umd.js',
      // '@jquery':'npm:jquery/jquery.min.js',

      // other libraries
      'rxjs':                      'npm:rxjs',
      'angular-in-memory-web-api': 'npm:angular-in-memory-web-api/bundles/in-memory-web-api.umd.js',
      'ng2-fullpage':               'npm:ng2-fullpage',
      'jquery':                     'npm:jquery/dist/jquery.js',
      'fullpage.js':                'npm:fullpage.js/jquery.fullPage.js'
    },
    // packages tells the System loader how to load when no filename and/or no extension
    packages: {
      app: {
        defaultExtension: 'js'
      },
      rxjs: {
        defaultExtension: 'js'
      }
    }
  });
})(this);

app.module.ts

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import {HttpModule} from '@angular/http';
import {routing} from './app.routing';
import {NavbarComponent} from './components/navbar/navbar.component';
import { MnFullpageDirective, MnFullpageService } from 'ng2-fullpage/ng2-fullpage';

import { AppComponent }  from './app.component';
import { ResumeComponent } from './components/resume/resume.component';
import { AboutComponent } from './components/about/about.component';
import {HomeComponent} from './components/home/home.component'



@NgModule({
  imports:      [ BrowserModule,HttpModule, routing ],
  declarations: [ AppComponent, ResumeComponent, AboutComponent, HomeComponent, NavbarComponent,MnFullpageDirective],
  bootstrap:    [ AppComponent ],
  providers: [MnFullpageService]
})
export class AppModule { }

my node_modules folder structure is like below for ng2-fullpage:

the error I am getting is:

in my network tab I get the below when I click ng2-fullpage:

Cannot GET /node_modules/ng2-fullpage/ng2-fullpage

I have been trying to resolve this issue using the plunkr given on the npm page where it seems to work, but its not working for me. The plunkr page is

[http://embed.plnkr.co/1p9zKp4CNI1HncAh1h9m][2]

console errors:

GET http://localhost:3000/node_modules/ng2-fullpage/ng2-fullpage 404 (Not Found)

"(SystemJS) XHR error (404 Not Found) loading http://localhost:3000/node_modules/ng2-fullpage/ng2-fullpage
    Error: XHR error (404 Not Found) loading http://localhost:3000/node_modules/ng2-fullpage/ng2-fullpage
        at XMLHttpRequest.wrapFn [as _onreadystatechange] (http://localhost:3000/node_modules/zone.js/dist/zone.js:1190:29) [<root>]
        at Zone.runTask (http://localhost:3000/node_modules/zone.js/dist/zone.js:166:47) [<root> => <root>]
        at XMLHttpRequest.ZoneTask.invoke (http://localhost:3000/node_modules/zone.js/dist/zone.js:416:38) [<root>]
    Error loading http://localhost:3000/node_modules/ng2-fullpage/ng2-fullpage as "ng2-fullpage/ng2-fullpage" from http://localhost:3000/app/app.module.js"

回答1:


Modify your systemjs.config.js. Change this:

'ng2-fullpage':               'npm:ng2-fullpage',

to this:

'ng2-fullpage':               'npm:ng2-fullpage/bundles/ng2-fullpage.bundle.js',



回答2:


In System.js file and packages.json file add the below code:

'ng2-fullpage': {
     defaultExtension: 'js'
}



回答3:


I've got the same problem and I solve it by adding code below to systemjs.config.js file, section packages

  packages: {
          app: {
            defaultExtension: 'js'
          },
          'ng2-fullpage': {
            main: './index.js',
            defaultExtension: 'js'
          },
          rxjs: {
            defaultExtension: 'js'
          }
    }


来源:https://stackoverflow.com/questions/42325399/unable-to-load-ng2-fullpage-in-my-angular-2-quickstart-app

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!