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模块(包)。

 
 {
"name": "angular-quickstart",
"version": "1.0.0",
"description": "Len'First App",
"scripts": {
"prebuild": "npm run clean",
"build": "webpack --progress --watch",
"start": "lite-server -c=bs-config.json",
"serve": "webpack-dev-server -d",
"lint": "tslint ./src/**/*.ts -t verbose",
"clean": "rimraf build"
},
"keywords": [],
"homePage": "",
"config": { "port" : "" },
"author": "Len",
"license": "MIT",
"dependencies": {
"@angular/common": "~4.3.4",
"@angular/compiler": "~4.3.4",
"@angular/core": "~4.3.4",
"@angular/forms": "~4.3.4",
"@angular/http": "~4.3.4",
"@angular/platform-browser": "~4.3.4",
"@angular/platform-browser-dynamic": "~4.3.4",
"@angular/router": "~4.3.4",
"angular-in-memory-web-api": "~0.3.0",
"core-js": "^2.4.1",
"fork-ts-checker-webpack-plugin": "^0.4.1",
"rxjs": "5.0.1",
"systemjs": "0.19.40",
"zone.js": "^0.8.4"
},
"devDependencies": {
"@types/jasmine": "2.5.36",
"@types/node": "^6.0.46",
"canonical-path": "0.0.2",
"clean-webpack-plugin": "^0.1.19",
"concurrently": "^3.2.0",
"copy-webpack-plugin": "^4.5.1",
"css-loader": "^0.28.11",
"extract-text-webpack-plugin": "^3.0.2",
"file-loader": "^1.1.11",
"html-webpack-plugin": "^3.2.0",
"install": "^0.11.0",
"jasmine-core": "~2.4.1",
"karma": "^1.3.0",
"karma-chrome-launcher": "^2.0.0",
"karma-cli": "^1.0.1",
"karma-jasmine": "^1.0.2",
"karma-jasmine-html-reporter": "^0.2.2",
"lite-server": "^2.2.2",
"lodash": "^4.16.4",
"protractor": "~4.0.14",
"rimraf": "^2.5.4",
"style-loader": "^0.21.0",
"ts-loader": "^4.2.0",
"tsconfig-paths-webpack-plugin": "^3.0.4",
"tslint": "^3.15.1",
"typescript": "latest",
"url-loader": "^1.0.1",
"webpack": "^4.6.0",
"webpack-cli": "^2.0.15",
"webpack-dev-server": "^3.1.3"
},
"repository": "git@github.com:len007/my-angular2-app.git"
}

其中:

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文件。

 const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const CopyWebpackPlugin = require('copy-webpack-plugin'); module.exports = {
mode: "development",
devtool: "inline-source-map",
entry: "./src/main.ts",
output: {
path: path.resolve(__dirname ,'build'),
filename: "[name].bundle.js"
},
devServer: {
contentBase: path.join(__dirname, ""),
compress: true,
stats: "errors-only",
openPage: "",
port:9000,
open:true
},
resolve: {
extensions: [".ts", ".tsx", ".js"],
},
module: {
rules: [
{
test: /\.tsx?$/,
use:["ts-loader"],
exclude: [
path.resolve(__dirname ,'node_modules')
] },
{
test: /(\.jsx|\.js)$/,
use: {
loader: "babel-loader"
},
exclude: /node_modules/
},{
test: /\.css$/,
use: ExtractTextPlugin.extract({
fallback: "style-loader",
use: [{
loader: "css-loader",
options: {
modules: true,
localIdentName: '[name]__[local]--[hash:base64:5]'
}
}, {
loader: "postcss-loader"
}],
})
} ]
}
};

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配套使用的命令。

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

我的第一个Angular2应用的更多相关文章

  1. 第一个Angular2的样例

    欢迎跟我一起学习Angular2 本文根据angular2官网手动敲码得来: 本文地址:http://blog.csdn.net/sushengmiyan 本文作者:苏生米沿 - 开发环境搭建 - 配 ...

  2. Angular2入门系列教程2-项目初体验-编写自己的第一个组件

    上一篇 使用Angular-cli搭建Angular2开发环境 Angular2采用组件的编写模式,或者说,Angular2必须使用组件编写,没有组件,你甚至不能将Angular2项目启动起来 紧接着 ...

  3. angular2之前端篇—1(node服务器分支)

    上一篇.net core和angular2之前端篇-1 使用的是dotnet模板.之所以用它,因为想用他写webapi,但是写道下一篇的时候遇到点问题,所以先写个分支测试一下.这次是用Node作为服务 ...

  4. [译]Angular2 和TypeScript -- 一次简要的预览

    原文链接:https://www.infoq.com/articles/Angular2-TypeScript-High-Level-Overview 作者:  Yakov Fain Posted o ...

  5. Angular2.0-组件

    截止到目前为止,Angular2.0完成了其alpha-32版本的开发,新的版本还在迭代开发当中,这其中有个问题,就是每个版本相比于以前的版本都会有一些改动,包括API方面的修改,这会导致很多基于以前 ...

  6. Angular2 从0到1 (二)

    第一节:Angular2 从0到1 (一)第三节:Angular2 从0到1 (三)第四节:Angular2 从0到1 (四) 作者:王芃 wpcfan@gmail.com 第二节:用Form表单做一 ...

  7. 初识Angular2

    Angular2是面向未来的科技,要求浏览器支持ES6+,我们现在要尝试的话,需要加一些 垫片来抹平当前浏览器与ES6的差异: angular2-polyfills - 为ES5浏览器提供ES6特性支 ...

  8. Angular2 和TypeScript

    Angular2 和TypeScript 原文链接:https://www.infoq.com/articles/Angular2-TypeScript-High-Level-Overview 作者: ...

  9. angular2+webpack的搭建过程遇到的问题记录

    最近在由于公司的项目要重构,Superiors要求将原先的Ionic1+angular1+gulp用全新的Ionic2+angular2+webpack重构.苦逼的Google了好久,环境搭建还是不太 ...

随机推荐

  1. for 循环,如果判断那里用到了一个函数,每次循环一次都会调用一次函数,如图

    但用高级for,可以不用每次都调用方法

  2. 打开visual studio 2010报错:未能正确加载“VSTS for Database Professionals Sql Server Data-tier Application”包

    1  解决: 运行cmd 2  输入:regsvr32 %windir%\system32\jscript.dll

  3. Overture小课堂之如何演绎钢琴滑音

    在我们学习钢琴和学习使用Overture时,要学习如何弹奏和使用滑音.那么我们先来看看什么是滑音,如何使用钢琴演绎,在Overture里滑音又在哪里呢? 滑音,在音乐术语中通常指一种装饰音和演奏指法. ...

  4. IDEA 初建Spring项目(Hello Spring)

    新建项目 在文件夹中建立一个项目文件 打开项目 打开IDEA,点击Open,根据所建项目路径找到该项目 依赖注入 点击项目名右键,点击new,点击file,创建pom.xml 内容为: <pro ...

  5. FJOI2019 划水记

    Day0 月考的余温尚未褪去,一周后期中考也将来临.一群被哄来打FJOI的水军,在期中大考必过前一百的死命令之下,仍然不怕死的花三天时间水同步赛.试机的路上乖乖排成两排,居然还有那么一丝春游的悠闲之感 ...

  6. Mybatis学习之一

    mybatis是目前市面上最流行的ORM框架之一,作为JavaEE程序员,在工作中不可能不用到mybatis.所以为了工作,为了学习,为了个人的发展,每个JavaEE程序员都要学习,学会mybatis ...

  7. LaTex Verbatim 环境下使用数学符号

    参考: Write math and make a box with alltt environment LaTex Verbatim 环境下使用数学符号 在 Verbatim 环境下使用数学符号,需 ...

  8. windows服务器环境问题---api-ms-win-crt-runtimel1-1-0.dll缺失解决

    安装VC++库 地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145

  9. 【搬运工】mysql用户权限设置

    关于mysql的用户管理,笔记 1.创建新用户 通过root用户登录之后创建 >> grant all privileges on *.* to testuser@localhost id ...

  10. 剑指offer 06:旋转数组的最小数字

    题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转 ...