npm - 在npm构建脚本中编译打字稿文件

时间:2016-07-17 21:23:08

标签: typescript npm

我尝试使用npm创建一个构建脚本而不使用grunt或gulp。

除了连接打字稿之外,大多数事情都是分开的。

我可以编译单个打字稿文件,但是我需要连接并编译一些单独的文件。

我使用的是concat-cli mobule,但它似乎没有连接文件,只是输出文件夹中的第一个文件。

连接打字稿文件的最佳方法是什么。

    {
      "name": "starter",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",

      "scripts": {
        "scss": "node-sass --output-style compressed -o src/assets/css src/assets/sass/main.scss",
        "compile:ts": "tsc --outDir ./src/assets/js/ --module commonjs ./src/app/**/*.ts",
        "concat:ts": "concat-cli --files src/app/**/*.ts --output dist/js/output.ts",
        "serve": "browser-sync start --server --files 'src/assets/css/, src/assets/js/*.js, **/*.html, !node_modules/**/*.html'",
        "watch:css": "onchange 'src/assets/sass/*.scss' -- npm run scss",
        "watch:js": "onchange 'src/app/**/*.js' -- npm run jshint",
        "watch:ts": "onchange 'src/app/**/*.ts' -- npm run concat:ts",
        "watch:all": "npm-run-all -p serve watch:css watch:js watch:images",
      },
      "author": "",
      "license": "ISC",
      "devDependencies": {
        "browser-sync": "^2.13.0",
        "concat": "0.0.1-security",
        "concat-cli": "^4.0.0",
        "node-sass": "^3.8.0",
        "onchange": "^2.5.0",
        "typescript": "^1.8.10",
      }
    }

1 个答案:

答案 0 :(得分:1)

  

连接打字稿文件的最佳方法是什么。

使用模块并使用像webpack这样的模块加载器。快速入门:https://basarat.gitbooks.io/typescript/content/docs/quick/browser.html

为什么

在不使用模块系统的情况下盲目连接JS文件将会充斥着ReferenceError: Variable not definedTypeError : undefined is ....。还有其他可维护性原因。更多:https://basarat.gitbooks.io/typescript/content/docs/tips/outFile.html