我正在尝试使用webpack开发一个angular2应用程序,但最终在浏览器控制台中出现错误说:未捕获的ReferenceError:系统未定义.
当我查看捆绑的js时,我看到它正在使用System.register,如下所示:
function(module,exports) { System.register(['angular2/platform/browser','./app.component'],function(exports_1) { var browser_1,app_component_1; return { setters:[ function (browser_1_1) { browser_1 = browser_1_1; },function (app_component_1_1) { app_component_1 = app_component_1_1; }],execute: function() { browser_1.bootstrap(app_component_1.AppComponent); } } }); // ...
我的webpack.config.js非常简单,如下所示:
var webpack = require('webpack'); module.exports = { context: __dirname,entry: "./app/boot.ts",devtool: 'inline-sourcemap',output: { path: __dirname + "/dist",filename: "bundle.js" },module: { loaders: [ {test: /\.ts$/,loader: 'ts-loader'} ] } };
任何人都可以帮我解决?谢谢.
正如@Ron所建议的那样
原文链接:https://www.f2er.com/angularjs/143757.html如果您使用Webpack捆绑您的应用程序,则必须将代码转换为commonjs.解决方案是将模块更改为tsconfig.json中的commonjs.
// tsconfig.json "module" : "commonjs"
这是使用webpack的angular2种子存储库列表,可能会有所帮助
> ng2-webpack-play by @ pkozlowski-opensource
> angular2-webpack-starter by @ gdi2290
> ng2-webpack by @ocombe
作为额外的,我建议你观看来自AngularConnect2015的Pawel的Modularity and Packaging for Angular2 Applications