首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将Angular2 TypeScript文件和JavaScript文件分开放到不同的文件夹中,可能是‘dist’

将Angular2 TypeScript文件和JavaScript文件分开放到不同的文件夹中,可能是‘dist’
EN

Stack Overflow用户
提问于 2016-01-09 03:22:41
回答 3查看 43.1K关注 0票数 82

我使用的是来自angular.io网站的5 min quickstart,其中包含如下文件结构:

代码语言:javascript
复制
angular2-quickstart
 app
   app.component.ts
   boot.ts
 index.html
 license.md
 package.json
 tsconfig.json

tsconfig.json是一个代码块,如下所示:

代码语言:javascript
复制
{
  "compilerOptions": {
    "target": "ES5",
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
  },
  "exclude": [
    "node_modules"
  ]
} 

还有package.json:

代码语言:javascript
复制
{
  "name": "angular2-quickstart",
  "version": "1.0.0",
  "scripts": {
    "tsc": "tsc",
    "tsc:w": "tsc -w",
    "lite": "lite-server",
    "start": "concurrent \"npm run tsc:w\" \"npm run lite\" "
  },
  "license": "ISC",
  "dependencies": {
    "angular2": "2.0.0-beta.0",
    "systemjs": "0.19.6",
    "es6-promise": "^3.0.2",
    "es6-shim": "^0.33.3",
    "reflect-metadata": "0.1.2",
    "rxjs": "5.0.0-beta.0",
    "zone.js": "0.5.10"
  },
  "devDependencies": {
    "concurrently": "^1.0.0",
    "lite-server": "^1.3.1",
    "typescript": "^1.7.3"
  }
}

我将sourceMap从true更改为false,因此在代码编辑器中,不会再次生成映射文件,但仍然会生成js文件。

我只想在ts文件上工作,不想得到js和js.map文件的早午餐,我应该怎么做才能把我所有的ts文件放在我常规的开发应用程序文件夹中,把所有的js和js.map文件放到一个名为dist的文件夹中?

angular2-webpack-quickstart就是一个很好的例子。但我不知道他们是怎么做到的?

任何建议如何做到这一点,当然不是手动。

谢谢,

EN

回答 3

Stack Overflow用户

发布于 2017-04-29 12:22:12

在@Nagyl的启发下,我开发了自己的方式,我相信这是值得分享的:

1)安装cpx

代码语言:javascript
复制
npm install cpx

2)更新bs-config.json,将baseDir从"src“改为"dist”

代码语言:javascript
复制
"baseDir":"dist"

3)更新tsconfig.json,在compilerOptions末尾添加outDir:

代码语言:javascript
复制
"outDir": "../dist"

4)更新package.json: 4.1)在脚本末尾添加新命令:

代码语言:javascript
复制
"cpx": "cpx \"src/**/*.{html,css,js,png,jpg}\" dist --watch"

4.2)修改"start“行,加入"cpx”命令:

代码语言:javascript
复制
"start": "concurrently \"npm run build:watch\" \"npm run cpx\" \"npm run serve\"",

票数 3
EN

Stack Overflow用户

发布于 2016-01-09 04:41:19

您可以在浏览器中转换.ts文件,就像plunker在其angular 2ts模板中所做的那样。

只需启动编辑器,选择new,然后选择AngularJS,然后选择2.0.x (TS)选项(在最底部)。但使用webpack(或任何其他捆绑工具)的全部意义在于在本地传输文件。

票数 2
EN

Stack Overflow用户

发布于 2016-11-16 18:34:47

我尝试了@raheel的建议&它对我很有效。我已经根据我的需要修改了结构。

我正在使用下面的结构

为此,我只修改了两个文件: 1. systemjs.config.js和2.tsconfig.json

在systemjs.config.js中,我更改为

map: { // previously it was app: 'app', app: 'app/js', ...

在tsconfig.json中,我必须添加"outDir": "app/js"

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34684527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档