当前位置: 首页 > 知识库问答 >
问题:

角材料2不工作在角2.0.0应用程序

邢永安
2023-03-14

我有一个应用程序可以加载Angular 2.0。0,所有rc版本之后的9/14/16版本。我试图添加AngularMaterial2,谷歌团队发布的官方MD版本。我正在从他们的入门网站复制/粘贴代码,但我使用的是Atom而不是angular cli,因为我已经构建了应用程序的开始部分。Atom typescript找到了所有内容,并表示没有错误。但是,尽管经过了大量的试用,当修改后的应用程序无法加载时,我还是会反复出现这些找不到的控制台错误。

zone.js:1263GEThttp://localhost:3000/node_modules/@angular2-材质/按钮/404(未找到)安排任务@zone.js:1263

主页:27错误:(SystemJS)XHR错误(404未找到)加载http://localhost:3000/node_modules/@角度2材质/按钮(…)

区js:1263获取http://localhost:3000/node_modules/@angular2材料/清单/404(未找到)

我已经查看了上面的node_模块文件,它们存在于我的代码中。

根据入门说明,相关代码为:

应用程序。单元ts

import { MdButtonModule } from '@angular2-material/button';
import { MdListModule } from '@angular2-material/list';
@NgModule({
  imports:      [ BrowserModule,
                  FormsModule,
                  MdButtonModule,
                  MdListModule,
                  routing
  ],

systemjs。配置。js

var map = {
'@angular2-material':                   'node_modules/@angular2-material',
'@angular2-material/core':                   'node_modules/@angular2-material/core/core',
'@angular2-material/list':                   'node_modules/@angular2-material/list',
'@angular2-material/button':                   'node_modules/@angular2-material/button'
};
var packages = {
'app':                        { main: 'main.js',  defaultExtension: 'js' },
'rxjs':                       { defaultExtension: 'js' },
'angular2-in-memory-web-api': { main: 'index.js', defaultExtension: 'js' },
};
function packIndex(pkgName) {
packages['@angular/'+pkgName] = { main: 'index.js', defaultExtension: 'js' };
}
function packUmd(pkgName) {
packages['@angular/'+pkgName] = { main: 'bundles/' + pkgName + '.umd.js', defaultExtension: 'js' };
}
var setPackageConfig = System.packageWithIndex ? packIndex : packUmd;
ngPackageNames.forEach(setPackageConfig);

HTML页面有两个md列表、md列表项和md按钮标记。

我应该换什么?

共有2个答案

姚浩歌
2023-03-14

随着Angular材质2版本2.0.0-alpha.9的中断更改,您可以简单地将这一行映射为systemjs.config.ts

'@angular/material': 'npm:@angular/material/material.umd.js',

package.json也变得更简单:

"@angular/material": "^2.0.0-alpha.9-3"

别忘了导入NGM模块

import { MaterialModule } from '@angular/material';
@NgModule({
  ...
  imports: [MaterialModule.forRoot()],
  ...
})

从物质2发布:

角度材质已从@angular2 Material/…更改为。。。包装到@angular/material下的单个包装。除此之外,还有一个新的模块MaterialModule,它包含所有组件。。。

孙岳
2023-03-14

今天早上(9/16),我用Angular2(决赛),Angular2材料2.0让它开始工作。0-α。8-2和TypeScript 2.0。0.正如您在包中看到的。在下面的json中,我按照本视频中的说明安装(并运行)了大多数当前可用的Angular2材质组件。

发布我的系统。配置。这样您就可以看到它,希望它能帮助您排除故障。

/**
 * System configuration for Angular 2 samples
 * Adjust as necessary for your application needs.
 */
(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',

      // other libraries
      'rxjs':                       'npm:rxjs',
      'angular2-in-memory-web-api': 'npm:angular2-in-memory-web-api',

      // Angular2-Material
      '@angular2-material/core': 'npm:@angular2-material/core/core.umd.js',
      '@angular2-material/button': 'npm:@angular2-material/button/button.umd.js',
      '@angular2-material/card': 'npm:@angular2-material/card/card.umd.js',
      '@angular2-material/checkbox': 'npm:@angular2-material/checkbox/checkbox.umd.js',
      '@angular2-material/grid-list': 'npm:@angular2-material/grid-list/grid-list.umd.js',
      '@angular2-material/icon': 'npm:@angular2-material/icon/icon.umd.js',
      '@angular2-material/input': 'npm:@angular2-material/input/input.umd.js',
      '@angular2-material/list': 'npm:@angular2-material/list/list.umd.js',
      '@angular2-material/radio': 'npm:@angular2-material/radio/radio.umd.js',
      '@angular2-material/sidenav': 'npm:@angular2-material/sidenav/sidenav.umd.js',
      '@angular2-material/toolbar': 'npm:@angular2-material/toolbar/toolbar.umd.js',
    },
    // packages tells the System loader how to load when no filename and/or no extension
    packages: {
      app: {
        main: './main.js',
        defaultExtension: 'js'
      },
      rxjs: {
        defaultExtension: 'js'
      },
      'angular2-in-memory-web-api': {
        main: './index.js',
        defaultExtension: 'js'
      }
    }
  });
})(this);

我package.json的相关部分:

      ...   
      "dependencies": {
        "@angular/common": "~2.0.0",
        "@angular/compiler": "~2.0.0",
        "@angular/core": "~2.0.0",
        "@angular/forms": "~2.0.0",
        "@angular/http": "~2.0.0",
        "@angular/platform-browser": "~2.0.0",
        "@angular/platform-browser-dynamic": "~2.0.0",
        "@angular/router": "~3.0.0",
        "@angular/upgrade": "~2.0.0",
        "@angular2-material/button": "^2.0.0-alpha.8-2",
        "@angular2-material/card": "^2.0.0-alpha.8-2",
        "@angular2-material/checkbox": "^2.0.0-alpha.8-2",
        "@angular2-material/core": "^2.0.0-alpha.8-2",
        "@angular2-material/grid-list": "^2.0.0-alpha.8-2",
        "@angular2-material/icon": "^2.0.0-alpha.8-2",
        "@angular2-material/input": "^2.0.0-alpha.8-2",
        "@angular2-material/list": "^2.0.0-alpha.8-2",
        "@angular2-material/radio": "^2.0.0-alpha.8-2",
        "@angular2-material/sidenav": "^2.0.0-alpha.8-2",
        "@angular2-material/toolbar": "^2.0.0-alpha.8-2",
        "angular2-in-memory-web-api": "~0.0.19",
        "core-js": "^2.4.1",
        "hammerjs": "^2.0.8",
        "reflect-metadata": "^0.1.3",
        "rxjs": "~5.0.0-beta.12",
        "systemjs": "~0.19.27",
        "zone.js": "^0.6.21"
      },
      "devDependencies": {
        "concurrently": "^2.2.0",
        "lite-server": "^2.2.2",
        "typescript": "^2.0.0",
        "typings": "^1.3.2"
      }
      ...

将typescript更新为2.0版。0

还必须为hammerjs(触摸手势支持)注册打字,但我相信只有在使用MdIconMoules时,您才需要这样做。

 类似资料:
  • html SystemJS配置 家庭组件 问-我如何修复这个未知元素的问题?谢了!

  • 我正试图使用bellow提到的角材料datepicker获得日期, “依赖关系”:{“@Angulation/Animations”:“^8.2.9”,“@Angulation/CDK”:“^8.2.3”, “@Angulation/core”:“~8.2.0”, “@Angulation/Material”:“^8.2.3”, “@Angulation/Router”:“~8.2.0”,“Ang

  • 我想在使用angle-cli的Angular 2应用程序中使用bootstrap材质设计。 引导材料设计(V4)使用SASS。为了使它在Angular 2中工作,我需要使用sass-loader。但是我没有找到任何解决方案来使Angulal-cli使用sass-loader,因为webpack配置不能被覆盖(据我所知)。 在使用Angular cli的Angular2应用程序中,是否有使用

  • 我试着用angular-6中的angular材质 我的材料。单元ts是这样的 它正在给出错误 请帮帮我

  • 我在Angular 5中构建了一个动态表单组件(基于https://angular.io/guide/dynamic-form的留档和示例)。 一切正常,直到我尝试使用有棱角的材料。 我在这里读过很多关于类似问题的文章,但它们似乎都是因为人们没有导入正确的模块,或者没有使用mdInput或mat Input而不是matInput。我遇到的问题并非如此。 任何想法或建议将不胜感激。 已更改代码-因错

  • 我想在进行某些处理时显示一个进度条覆盖图。我可以计算完成百分比,所以我想使用一个确定的进度条。对于覆盖部分,我想使用一个对话框。基本上,我想做这里要做的事情(Angular 2 Material Progress微调器:显示为叠加),但我不需要微调器。因此,我的组件将如下所示: 模板: 元件: 然后我使用这个组件的代码如下: 我发现了这一点(如何将数据传递到angular material 2的对