webpack前端構建angular1.0!!!

webpack前端構建angular1.0


Webpack最近很熱,用webapcak構建react,vue,angular2.0的文章不少,可是webpack構建angualr1.0的文章找來找去也沒有一篇讓我感受到很滿意的,好多都運行報錯,因此我參考了幾篇文章,寫一篇webpack前端構建angular1.0的文章指南。本文適合第一次接觸webpack的朋友,若是是老鳥,就不用看了。css


圖片描述

安裝

  1. 先裝好node和npm,由於webpack是一個基於node的項目。而後查看node是否安裝成功:html

    node -v && npm -v前端

  2. 全局安裝webpack
    npm install -g webpack
    查看webpack是否安裝成功:
    npm -vvue

  3. webpack中文社區:
    https://doc.webpack-china.org/node

創建項目

建一個文件夾,而後新建一個package.json的文件在項目根目錄下react

mkdir webpackAngular
cd webpackAngular
npm initwebpack

項目結構

如今項目裏面就有一個package.json, 咱們多加一點東西,慢慢豐富它的內容。web

圖片描述

添加index.html文件express

<!DOCTYPE html>
<html ng-app="app">
<head lang="en">
  <meta charset="UTF-8">
  <title>webpackAngular</title>
</head>
<body>
  <h1>webpack + Angular </h1>
  <hello-world></hello-world>
  <script src="/build/main.js"></script>
</body>
</html>

添加webpack.config.js文件,添加了最重要的webpack的配置文件,咱們仍是從很是簡單的hello world開始玩起,webpack原生直接支持AMD和CommonJS兩種格式,若是你想使用ES6的風格,這點之後再提。npm

webpack.config.js

var webpack = require("webpack");
var path = require("path");
var OpenBrowserPlugin = require('open-browser-webpack-plugin');
module.exports = {
  //上下文
  context: __dirname + '/app',
  //入口文件
  entry: './app.js',
  //輸出文件
  output: {
    path: __dirname + '/build',
    filename: '[name].js'
  },
 
  module: {
    loaders: [
      {
        test: /\.css$/,
        loader: ['style-loader', 'css-loader']
      }
    ]
  },

  //自動啓動瀏覽器
  plugins: [
    new OpenBrowserPlugin({ url: 'http://localhost:8080' })
  ]
};

添加app.js

//引入angular
var angular = require('angular');
//定義一個angular模塊
var ngModule = angular.module('app',[]);
//引入指令文件
require('./helloWorld/helloWorld.js')(ngModule);
//引入樣式文件
require('./css/style.css');

添加style.css

.ing{
    height: 48px;
    position: relative;
    top:30%;
    left: 40%;
    background-image:url('/app/images/loader.gif');
    background-repeat: no-repeat;
    font-size: 24px;
    color: #000;
}

.hello-world {
   color: red;
   border: 1px solid green;
}

添加helloWorld.html

<div class="ing"></div>
<div class="hello-world">
    <span ng-bind="vm.greeting"></span>
</div>

添加helloWorld.js

module.exports = function(ngModule) {
  //定義指令,對應頁面中的<hello-world></hello-world>
  ngModule.directive('helloWorld', helloWorldFn);
  function helloWorldFn() {
    return {
      //元素(element)
      restrict: 'E',
      scope: {},
      templateUrl: '/app/helloWorld/helloWorld.html',
      controllerAs: 'vm',
      controller: function () {
        var vm = this;
        console.log('this',this);
        vm.greeting = '你好,我是Alan,很高興見到你!';
      }
    }
  }
}

安裝依賴文件

sudo npm isntall angular --save-dev
sudo npm isntall css-loader --save-dev
sudo npm isntall style-loade --save-dev
sudo npm isntall express --save-dev
sudo npm isntall open-browser-webpack-plugin --save-dev
sudo npm isntall webpack --save-dev
sudo npm isntall webpack-dev-server --save-dev

自動保存package.json文件,若是直接複製package.json文件執行下面命令:
sudo npm install

webpack編譯文件

sudo npm run build

會自動生成buid文件夾壓縮js文件
圖片描述

webpack自動啓動瀏覽器訪問idnex.html

sudo npm run dev

圖片描述

也能夠在瀏覽器直接訪問:
http://localhost:8080/

見證奇蹟的時候到了,而後神奇的發現:

圖片描述

最後恭喜你用webpack構建angular1.0成功了!!!若是有什麼疑問歡迎留言。。。大神勿噴,感謝手下留情~~~

相關文章
相關標籤/搜索