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. LInux命令英文全称

    Linux命令英文全称   su = Swith user 切换用户,切换到root用户cat = Concatenate 串联uname = Unix name 系统名称df = Disk free ...

  2. vue路由详解

    自己看vue文档,难免有些地方不懂,自己整理一下,主要是vue-router具体实现的操作步骤. 安装 直接下载/CDN https://unpkg.com/vue-router/dist/vue-r ...

  3. The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application问题解决方案参考

    错误信息:The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the ...

  4. RSA非对称加密,公钥加密/私钥解密

    非对称加密 package test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFound ...

  5. springMVC注解总结

    由于BookController类加了value="/book"的@RequestMapping的注解,所以相关路径都要加上"/book",即请求的url分别为 ...

  6. 【题解】Luogu P5284 [十二省联考2019]字符串问题

    原题传送门 我用sa做的本题 (码量似乎有点大) 先对原串建sa 考虑如何建图: 从大到小枚举长度len 先将height中等于len的两个位置在并查集合并起来,将lst也合并(lst是链表) 再将长 ...

  7. Vue PC后台系统组件大全

    1.https://vue.ant.design/ 2.http://element-cn.eleme.io/#/zh-CN 3.https://www.iviewui.com/ 4.https:// ...

  8. GOQTTemplate3的多线程化改造

    GOQTTemplate3作为一个QT+OpenCV的平台,希望能够为使用者提供基础的跨平台的图像处理框架.图像处理算法和GUI两个线程的隔离,是必然需要的.在之前的版本中,都采用了OnTimer的方 ...

  9. 【我的前端自学之路】【HTML5】.html和.htm的区别

    以下为自学笔记内容,仅供参考. 转发请保留原文链接:https://www.cnblogs.com/it-dennis/p/10508171.html .htm 和 .html 的区别 .htm 和 ...

  10. vue v-if:"TypeError: Cannot read property 'length' of undefined"

    在使用v-if判断一个数组大小为0时,会出现 length 是undefined的错误:[Vue warn]: Error in render: "TypeError: Cannot rea ...