【问题标题】:Angular 4 - configuring systemjsAngular 4 - 配置 systemjs
【发布时间】:2017-06-08 10:47:34
【问题描述】:

我第一次使用systemjs 作为模块加载器。我也在尝试在我的项目中使用ng2-drag-drop plugin。安装后,我将模块导入到我想使用它的模型中,在我的例子中是PostModule

import { Ng2DragDropModule } from 'ng2-drag-drop';

@NgModule({
  imports: [PostRoutingModule, SharedModule, Ng2DragDropModule],
  declarations: [PostComponent],
  exports: [PostComponent],
  providers: [PostService]
})
export class PostModule { }

正如文档中所说,我已经更改了 systemjs 配置文件:

declare var System: SystemJSLoader.System;

System.config(JSON.parse('<%= SYSTEM_CONFIG_DEV %>'));
System.config({
    map: {
        'ng2-drag-drop': 'node_modules/ng2-drag-drop'
    },
    packages: {
        'ng2-drag-drop':  { main: 'index.js',  defaultExtension: 'js' },
    }
});

但是,我得到一个错误:

获取 http://localhost:5555/node_modules/node_modules/ng2-drag-drop/index.js 404(未找到)(匿名) (SystemJS) XHR 错误 (404 Not Found) 加载 http://localhost:5555/node_modules/node_modules/ng2-drag-drop/index.js

【问题讨论】:

  • 我还认为,如果您在 node_modules 此处 'ng2-drag-drop': '/node_modules/ng2-drag-drop' 之前添加一个斜杠,它应该也可以工作

标签: angular plugins systemjs ecmascript-5 es6-module-loader


【解决方案1】:

您可以通过以下方式对其进行配置:

System.config({
    paths: {
        'npm:': '/node_modules/'
    },

    map: {
        'ng2-drag-drop': 'npm:ng2-drag-drop'
    },

    packages: {
        'ng2-drag-drop': {
            main: 'index.js',
            defaultExtension: 'js'
        }

    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 2017-03-20
    • 1970-01-01
    • 2017-11-11
    相关资源
    最近更新 更多