angularjs – 为什么webpack捆绑为’System.register’

前端之家收集整理的这篇文章主要介绍了angularjs – 为什么webpack捆绑为’System.register’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用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所建议的那样

如果您使用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

原文链接:https://www.f2er.com/angularjs/143757.html

猜你在找的Angularjs相关文章