博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
我的第一个Angular2应用
阅读量:5280 次
发布时间:2019-06-14

本文共 5296 字,大约阅读时间需要 17 分钟。

1需要具备的基本前端基础:HTML、CSS、JavaScript。为了实现对项目包的管理,推荐使用npm

  NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题;官网先下载node.js并安装

2.clone快速新建Angular项目的仓库到本地文件夹my-angular2-app。

git clone git@github.com:len007/my-angular2-app.git my-angular2-app

3.创建package.json文件,用于管理本地安装的npm模块(包)。

 
1 { 2   "name": "angular-quickstart", 3   "version": "1.0.0", 4   "description": "Len'First App", 5   "scripts": { 6     "prebuild": "npm run clean",     7     "build": "webpack --progress --watch", 8     "start": "lite-server -c=bs-config.json", 9     "serve": "webpack-dev-server -d",10     "lint": "tslint ./src/**/*.ts -t verbose",11     "clean": "rimraf build"12   },13   "keywords": [],14   "homePage": "",15   "config": { "port" : "8080" },16   "author": "Len",17   "license": "MIT",18   "dependencies": {19     "@angular/common": "~4.3.4",20     "@angular/compiler": "~4.3.4",21     "@angular/core": "~4.3.4",22     "@angular/forms": "~4.3.4",23     "@angular/http": "~4.3.4",24     "@angular/platform-browser": "~4.3.4",25     "@angular/platform-browser-dynamic": "~4.3.4",26     "@angular/router": "~4.3.4",27     "angular-in-memory-web-api": "~0.3.0",28     "core-js": "^2.4.1",29     "fork-ts-checker-webpack-plugin": "^0.4.1",30     "rxjs": "5.0.1",31     "systemjs": "0.19.40",32     "zone.js": "^0.8.4"33   },34   "devDependencies": {35     "@types/jasmine": "2.5.36",36     "@types/node": "^6.0.46",37     "canonical-path": "0.0.2",38     "clean-webpack-plugin": "^0.1.19",39     "concurrently": "^3.2.0",40     "copy-webpack-plugin": "^4.5.1",41     "css-loader": "^0.28.11",42     "extract-text-webpack-plugin": "^3.0.2",43     "file-loader": "^1.1.11",44     "html-webpack-plugin": "^3.2.0",45     "install": "^0.11.0",46     "jasmine-core": "~2.4.1",47     "karma": "^1.3.0",48     "karma-chrome-launcher": "^2.0.0",49     "karma-cli": "^1.0.1",50     "karma-jasmine": "^1.0.2",51     "karma-jasmine-html-reporter": "^0.2.2",52     "lite-server": "^2.2.2",53     "lodash": "^4.16.4",54     "protractor": "~4.0.14",55     "rimraf": "^2.5.4",56     "style-loader": "^0.21.0",57     "ts-loader": "^4.2.0",58     "tsconfig-paths-webpack-plugin": "^3.0.4",59     "tslint": "^3.15.1",60     "typescript": "latest",61     "url-loader": "^1.0.1",62     "webpack": "^4.6.0",63     "webpack-cli": "^2.0.15",64     "webpack-dev-server": "^3.1.3"65   },66   "repository": "git@github.com:len007/my-angular2-app.git"67 }

 

其中:

name: 项目名称version: 项目版本号description: 项目描述keywords:{Array}关键字,便于用户搜索到我们的项目homepage:项目URL主页bugs:项目问题反馈的URL或Email配置,如:    {        "url" : "https://github.com/owner/project/issues",         "email": "project@hostname.com"    }license:项目许可证,让使用者知道是如何被允许使用此项目。author,contributors:作者和贡献者scripts:声明一系列npm脚本指令    prepublish: 在包发布之前运行,也会在npm install安装到本地时运行    publish,postpublish: 包被发布之后运行    preinstall: 包被安装前运行    install,postinstall: 包被安装后运行    preuninstall,uninstall: 包被卸载前运行    postuninstall: 包被卸载后运行    preversion: bump包版本前运行    postversion: bump包版本后运行    pretest,test,posttest: 通过npm test命令运行    prestop,stop,poststop: 通过npm stop命令运行    prestart,start,poststart: 通过npm start命令运行    prerestart,restart,postrestart: 通过npm restart运行config: { "port" : "8080" },配置项目中需要的配置参数dependencies:项目在生产环境中依赖的包devDependencied:项目在开发和测试环境中依赖的包

 

4.Install所需的包

npm install

5.创建webpack.json文件。

1 const path = require('path'); 2 const webpack = require('webpack'); 3 const HtmlWebpackPlugin = require('html-webpack-plugin'); 4 const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin'); 5 const ExtractTextPlugin = require('extract-text-webpack-plugin'); 6 const CopyWebpackPlugin = require('copy-webpack-plugin'); 7  8 module.exports = { 9     mode: "development",10     devtool: "inline-source-map",11     entry: "./src/main.ts",12     output: {13         path: path.resolve(__dirname ,'build'),14         filename: "[name].bundle.js"15     },16     devServer: {17         contentBase: path.join(__dirname, ""),18         compress: true,19         stats: "errors-only",20         openPage: "",21         port:9000,22         open:true23       },24     resolve: {25       extensions: [".ts", ".tsx", ".js"],26     },27     module: {28       rules: [29         { 30             test: /\.tsx?$/, 31             use:["ts-loader"],32             exclude: [33                 path.resolve(__dirname ,'node_modules')34             ]35       36         },37         {38             test: /(\.jsx|\.js)$/,39             use: {40                 loader: "babel-loader"41             },42             exclude: /node_modules/43         },{44             test: /\.css$/,45             use: ExtractTextPlugin.extract({46                 fallback: "style-loader",47                 use: [{48                     loader: "css-loader",49                     options: {50                         modules: true,51                         localIdentName: '[name]__[local]--[hash:base64:5]'52                     }53                 }, {54                     loader: "postcss-loader"55                 }],56             })57         }58 59       ]60     }61   };

 

5.webpack打包编译,由配置可看出编译之前会先删除build文件夹。

npm run build

6.这里我们可以使用两种方式启动本地浏览器来显示咱们的应用

npm start( lite-server -c=bs-config.json )

npm run serve( webpack-dev-server -d )

webpack-dev-server是与webpack配套使用的命令。

 至此,我们的简单应用就成型了!

转载于:https://www.cnblogs.com/Failbs/p/8910275.html

你可能感兴趣的文章
Fast Poisson Disk Sampling
查看>>
Python Cookbook(第3版)中文版:15.14 传递Unicode字符串给C函数库
查看>>
Linux下SVN自动更新web [转]
查看>>
编程:对经验世界的析构与建构
查看>>
Openstack api 学习文档 & restclient使用文档
查看>>
vim linux下查找显示^M并且删除
查看>>
poj100纪念
查看>>
ExtJs4 笔记(5) Ext.Button 按钮
查看>>
把execl导入到数据库中
查看>>
阿里云人脸比对API封装
查看>>
如何将数据库中的表导入到PowerDesigner中(转)
查看>>
汇编总结一
查看>>
html5-表单常见操作
查看>>
android textView中实现html效果
查看>>
《摇滚南京》——"人生下来就是孤独"
查看>>
Oracle中Union与Union All的区别(适用多个数据库)
查看>>
String = ""和String = null的区别
查看>>
C#测试题若干,都是基础阿
查看>>
NetWork——关于TCP协议的三次握手和四次挥手
查看>>
如果TCP采用两次握手
查看>>