Webpack和AngularJS

11

我想运行一个使用AngularJS和Webpack的简单应用程序,这是我的代码:
index.html

<html ng-app="myApp">
    <head>
        <meta charset="utf-8">
    </head>
    <body ng-controller="mainCtrl">

Full Name: {{firstName + " " + lastName}}

        <script type="text/javascript" src="bundle.js" charset="utf-8"></script>
    </body>
</html>   

app.js

var app = angular.module('myApp', []);

function mainCtrl($scope) {
    $scope.firstName="John",
    $scope.lastName="Doe"
}

Webpackconfig.js

module.exports = {
  entry: './main.js',
  output: {
    filename: './bundle.js'       
  }
};  

main.js

var jquery = require("//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.js");
var angular = require("//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.3/angular.min.js");


var app = require("./app.js");  

bundle.js

?? I don't know what i sholud write here !!  

我看到了这个:https://github.com/jeffling/angular-webpack-example
问题是如何正确地运行它?


如果你需要帮助,只需在项目中提出问题,我会尽力帮忙! - Jeff Ling
1个回答

9

bundle.js 是由webpack生成的,因此我认为您不需要编写此文件。

Webpack配置文件的正确名称是webpack.config.js。有了此文件,您就可以使用webpackwebpack --watch启动编译,随着代码的修改,您的捆绑文件将持续进行编译。

我创建了一个angular-index.js来将Angular封装为CommonJS模块。以下是源代码:

require('./angular.min.js');
module.exports = angular;

我已将main.js和'app.js'合并为一个单独的文件。

var jquery = require('jquery');
var angular = require('./angular-index');

var myApp = angular.module('myApp', []);
myApp.controller('mainCtrl', require('./mainCtrl'));

最后,我添加了mainCtrl.js。这个文件仅包含控制器函数的定义。
module.exports = function($scope) {
  $scope.firstName = 'John';
  $scope.lastName = 'Doe';
};

如需更好、更详细的解释,请阅读此博客文章:https://blog.codecentric.de/en/2014/08/angularjs-browserify/。我的工作代码在这里:https://github.com/jean-rakotozafy/angular-webpack-template


你可以输入 npm start 来编译和监视应用程序,然后在另一个控制台中运行 http-server(如果尚未安装,请键入 sudo npm install -g http-server)来运行该应用程序。 - Zan RAKOTO
抱歉问这个问题:为什么我要使用命令行来运行它? - user3856699
谢谢,我已经运行了它,如果您不介意,我还有一个问题:我正在开发一个 .net 和 angular 项目,现在我们想要添加 webpack。 如何在没有 npm 的情况下运行您的 GitHub 项目? - user3856699
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Zan RAKOTO
抱歉 :). 我在回复中提到的博客文章使用了gulp: https://github.com/basti1302/angular-browserify。也许,他们的示例更适合您的用例。 - Zan RAKOTO
不客气 ;). 这个链接可能会有所帮助 http://www.hanselman.com/blog/IntroducingGulpGruntBowerAndNpmSupportForVisualStudio.aspx。祝你好运! - Zan RAKOTO

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接