在我的Angular2 + TypeScript + WebPack项目中,我想使用/从以下网址导入Esri ArcGIS JavaScript API:
以便import Map from 'esri/Map';
导入以下模块
https://js.arcgis.com/4.1/esri/Map.js
我看到人们通常使用systemjs来加载这些模块,但是,我宁愿不使用systemjs。有没有办法只使用webpack?
webpack.config:
var webpack = require("webpack");
module.exports = {
entry: {
'polyfills': './app/polyfills.js',
'vendor': './app/vendor.js',
'app': './app/boot.js'
},
output: {
path: __dirname,
filename: "./prod/[name].js"
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
name: ['app', 'vendor', 'polyfills']
}),
new webpack.optimize.UglifyJsPlugin({
beautify: false,
mangle: {screw_ie8: true, keep_fnames: true},
compress: {screw_ie8: true},
comments: false
})
]
};
答案 0 :(得分:0)
webpack是一个模块捆绑器而不是javascript加载器。它从本地磁盘打包文件,并且不从Web加载文件(除了它自己的块)。使用javascript加载程序,即script.js
https://github.com/webpack/webpack/issues/150#issuecomment-32756166
还值得注意的是,您无法从外部源加载模块,然后使用es6语法导入,因为远程模块需要通过Webpack。您必须确保获取UMD /全局脚本。
答案 1 :(得分:0)
我跟着this sample并且能够加载dojo,webpack,typescript和angular 2。
请耐心等待,仍然是进口的地狱,例如:
import * as Map from 'esri/Map';
import * as Point from 'esri/geometry/Point';
import * as Circle from 'esri/geometry/Circle';