我尝试使用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",
}
}
答案 0 :(得分:1)
连接打字稿文件的最佳方法是什么。
使用模块并使用像webpack这样的模块加载器。快速入门:https://basarat.gitbooks.io/typescript/content/docs/quick/browser.html
在不使用模块系统的情况下盲目连接JS文件将会充斥着ReferenceError: Variable not defined
和TypeError : undefined is ....
。还有其他可维护性原因。更多:https://basarat.gitbooks.io/typescript/content/docs/tips/outFile.html