• webpack前端构建angular1.0!!!


    webpack前端构建angular1.0


    Webpack最近很热,用webapcak构建react,vue,angular2.0的文章很多,但是webpack构建angualr1.0的文章找来找去也没有一篇让我感觉到很满意的,好多都运行报错,所以我参考了几篇文章,写一篇webpack前端构建angular1.0的文章指南。本文适合第一次接触webpack的朋友,如果是老鸟,就不用看了。


    图片描述

    安装

    1. 先装好node和npm,因为webpack是一个基于node的项目。然后查看node是否安装成功:

      node -v && npm -v

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

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

    建立项目

    建一个文件夹,然后新建一个package.json的文件在项目根目录下

    mkdir webpackAngular
    cd webpackAngular
    npm init

    项目结构

    现在项目里面就有一个package.json, 我们多加一点东西,慢慢丰富它的内容。

    图片描述

    添加index.html文件

    <!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的风格,这点以后再提。

    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成功了!!!
    如果有什么疑问欢迎留言。。。
    大神勿喷,感谢手下留情~~~

  • 相关阅读:
    ATM+购物车项目
    python基础语法13 内置模块 subprocess, 正则表达式re模块, logging日志记录模块, 防止导入模块时自动执行测试功能, 包的理论
    kvm ip查看
    tar 排除某个目录
    MySQL5.7 添加用户、删除用户与授权
    tomcat 自带jdk
    django examples 学习笔记(1)创建一个独立的python环境
    cdh 安装组件 异常总结
    pycharm ubuntu安装
    (cdh)hive 基础知识 名词详解及架构
  • 原文地址:https://www.cnblogs.com/twodog/p/12140581.html
Copyright © 2020-2023  润新知