我有一个角度2 CLI项目,我想添加Dragula第三方组件。我安装了npm模块并配置了angular-cli-build.js
以获取组件并将其放在/dist
文件夹中,如下所示:
vendorNpmFiles: [
'systemjs/dist/system-polyfills.js',
'systemjs/dist/system.src.js',
'zone.js/dist/**/*.+(js|js.map)',
'es6-shim/es6-shim.js',
'reflect-metadata/**/*.+(js|js.map)',
'rxjs/**/*.+(js|js.map)',
'@angular/**/*.+(js|js.map)',
'ng2-dragula/**/*.+(js|js.map|d.ts)'
]
这样可行,并且在构建时会复制文件。 我在导入中引用模块如下:
import {Dragula,DragulaService} from 'ng2-dragula/ng2-dragula';
这似乎也是正确的,因为visual studio代码似乎找到了参考。
我猜问题出在system-config.ts上。在这里我添加一个映射:
const map: any = {
'ng2-dragula': 'vendor/ng2-dragula'
};
但是当我开始时,我收到404错误显示:
zone.js:101 GET
http://localhost:4200/vendor/ng2-dragula/ng2-dragula
404(未找到)
我试图在'packages'中添加defaultExtension,但这只会在链接的末尾添加额外的'ng2-dragula.js'。
位置'... / vendor / ng2-dragula /'的内容是:
我错过了什么?此路径是否应该选择类型定义文件?
感谢您的帮助
勒夫
答案 0 :(得分:0)
您是否添加了拖拉路径?
paths: {
'dragula': 'node_modules/dragula/dist/dragula.js',
'ng2-dragula/*': 'node_modules/ng2-dragula/ng2-dragula.js',
看看这是否有帮助。