2017-08-09 61 views
0

AngularCLI的發佈放棄了SystemJS以支持WebPack。用於SystemJS映射的Webpack解決方案

但是,SyncFusion尚未支持WebPack,但EJ2庫中還存在Angular。他們指示使用SystemJS在本教程中 http://ej2.syncfusion.com/angular/documentation/grid/getting-started.html#configuring-system-js

我怎樣才能解決這個依賴,並使其與兼容的WebPack在等待SyncFusion支持它映射

"@syncfusion/ej2-grids": "node_modules/@syncfusion/ej2-grids/dist/ej2-grids.umd.min.js", 
"@syncfusion/ej2-ng-grids": "node_modules/@syncfusion/ej2-ng-grids/dist/ej2-ng-grids.umd.min.js", 

回答

1

同樣的事情在做的WebPack與resolve.alias

... 
resolve: { 
    alias: { 
    "@syncfusion/ej2-grids$": "@syncfusion/ej2-grids/dist/ej2-grids.umd.min.js", 
    ... 
} 

爲什麼映射在SystemJS使用的原因是,一個預製的UMD文件可以被轉移,而不是換乘要建立單獨的文件。這對Webpack來說不是問題。儘管UMD模塊可以稍微加快處理速度,但使用包中的非捆綁ES6模塊(如果可用)允許使用樹抖動並可減少應用程序佔用空間。

+0

我試圖用解決方案中的項目使用的「NG彈出」彈出後。之後,項目無法通過消息通知「」@ syncfusion/ej2-grids「未找到 – LxL

+0

您有沒有遇到問題?您是否有理由決定將模塊重新映射到UMD包?通常情況下,它不需要Webpack正確發佈的軟件包,因爲答案中列出的原因 – estus

+0

我的主要問題是模板中的GridComponent無法找到名爲datasource,groupsettings,allowgrouping的屬性,這些屬性未在GridComponent中聲明,但在其parernt Grid中這不是一個角色組件,我錯過了這個教程的唯一的東西是配置了SystemJS的一部分,這在使用AngularCLI時是不存在的,這就是爲什麼我開始尋找使用Webpack的替代方案 – LxL

-2

Essential JS2角度組件支持Webpack,沒有任何解決方法。請找到的代碼片段

var webpack = require('webpack'); 
module.exports = { 
entry: { 
    'app': './app/main.ts' 
}, 

resolve: { 
    extensions: ['.js'] 
}, 
output: { 
    path: __dirname + '/dist', 
    publicPath: '/', 
    filename: 'app.js', 
} 
}; 

的WebPack樣品鏈接:https://github.com/Madhust/ej2-grid-angular-webpack

+0

雖然此鏈接可能會回答問題,但最好在此處包含答案的重要部分並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/16981760) –