angular+webpack2實戰例子,angularwebpack2

來源:互聯網
上載者:User

angular+webpack2實戰例子,angularwebpack2

之前研究過webpack但是一直沒用過,這次公司要做一個h5網站,正好拿來練練手,話說angular1x對移動端不是很友好,但主要是angular1x比較熟悉,上手快,開發也快,就沒去考慮其他前端mvc架構。

好了webpack出了中文版以後,對於我們這些英語不是很好的來說真的是太棒了,話說angularjs啥時候也出個中文文檔就更好了,webpack官網:https://doc.webpack-china.org/

右上方可以選擇語言。

開始之前先看一下目錄檔案:

第一步:

首先要使用webpack需要先安裝webpack,官網給出了好幾中安裝方式,就不多說了:

npm install --global webpack

因為我用的是webpack2 所以需要注意版本1x 到 2x 的配置差異,這裡官網也給出了詳細差異:https://doc.webpack-china.org/guides/migrating/

第二步webapck配置webpack.config.js:

const webpack = require('webpack'); //to access built-in pluginsconst path = require('path');const HtmlWebpackPlugin = require('html-webpack-plugin');const config = {  entry: './app/app.js',  output: {  path: path.resolve(__dirname, 'dist'),  filename: 'bundle-[chunkhash].js',  publicPath: "/mobile/dist/" }, module: {  rules: [  {    test: /\.(js|jsx)$/,     use: 'babel-loader'  },   {   test: /\.css$/,   use: ['style-loader','css-loader']  }, {  test: /\.(png|jpg|jpeg|gif|woff)$/,   use: 'url-loader?limit=4192&name=[name].[ext]'  }, ]}, plugins:[  new HtmlWebpackPlugin({        //自動產生Html    template:'./app/view/index.html',    filename:'../app/index.html',    inject:'body'  })]};module.exports = config;

這裡需要說的是entry: './app/app.js' 是入口檔案,所有的 js代碼都通過入口檔案載入,我這裡就只用了 app.js ,但是也可以設定多個入口檔案。

output: 設定輸出的路徑和檔案,這裡我是將所有的 js 壓縮到了bundle.js中,這裡也是可以設定壓縮到多個檔案的,檔案後面我設定了 hash 值主要考慮瀏覽器緩衝問題,module: 就是配置js css html 打包壓縮的規則,這裡寫法和 webpack1x 有較大差異,還需注意。

plugins: 外掛程式,webpack 有很多內建外掛程式,HtmlWebpackPlugin  是動態產生html的一個內建外掛程式,主要的作用是可以動態把壓縮後帶有 hash 值的js動態插入到 html 中。

配置就暫時說到這裡,然後再看看我們的入口檔案,app.js,

var angular = require('angular');// 引入angularvar urlRouterProvider = require('angular-ui-router');var uiLoad = require('angular-ui-load');var $jq = require('jquery');var animate = require('angular-animate');var ngModule = angular.module('app',['ui.router','ui.load','ngAnimate']); // 建立apprequire('./factory.js')(ngModule,$jq);// 公用方法封裝require('./route.js')(ngModule);// 引入路由檔案require('./directives.js')(ngModule,$jq);// 組件require('./controller.js')(ngModule);// 控制器require('./css/style.css');// 引入樣式檔案

這裡主要把js依賴檔案引入,然後把angular的路由和邏輯處理的js引入,方便前端模組化編程,注視比較清晰就不多說了。單獨的js模組直接按照原來的寫就ok了 區別就是在最外層寫一個module.exports = function(ngModule){}

項目代碼:https://github.com/wangbaogui123/angular-webpack2.git

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援幫客之家。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.