相关疑难解决方法(0)

NPM vs. Bower vs. Browserify vs. Gulp vs. Grunt vs. Webpack

我正在尝试总结我对最流行的JavaScript包管理器,捆绑包和任务运行器的了解.如果我错了,请纠正我:

  • npm&bower是包管理员.他们只是下载依赖项,不知道如何自己构建项目.他们知道的是在获取所有依赖项之后调用webpack/ gulp/ grunt.
  • bower就像npm,但是构建了扁平的依赖树(不像npm递归那样).含义npm获取每个依赖项的依赖项(可能会获取相同的几次),同时bower期望您手动包含子依赖项.有时bowernpm分别用于前端和后端(因为每兆字节在前端可能很重要).
  • grunt并且gulp是任务运行者自动化所有可以自动化的东西(即编译CSS/Sass,优化图像,制作捆绑并缩小/转换它).
  • gruntvs. gulp(就像mavenvs. gradle或配置与代码).Grunt基于配置单独的独立任务,每个任务打开/处理/关闭文件.Gulp需要的代码量较少,并且基于节点流,这使得它可以构建管道链(无需重新打开同一个文件)并使其更快.
  • webpack(webpack-dev-server) - 对我来说,这是一个热门重新加载更改的任务运行器,可以让你忘记所有JS/CSS观察者.
  • npm/ bower+ plugins可以替换任务运行器.他们的能力经常交叉,所以如果你需要使用gulp/ gruntover npm+插件,会有不同的含义.但是,跑步者的任务是复杂的任务肯定更好(例如,"每个建设创建捆绑,从ES6 transpile到ES5,在所有浏览器模拟器中运行它,使屏幕截图和部署通过FTP收存箱").
  • browserify允许为浏览器打包节点模块.browserifyvs noderequire实际上是AMD vs CommonJS.

问题:

  1. 什么是webpack&webpack-dev-server官方文档说它是一个模块捆绑器,但对我来说它只是一个任务运行器.有什么不同?
  2. 你会在哪里使用browserify?我们不能对node/ES6导入做同样的事情吗?
  3. 你什么时候使用gulp …

npm gruntjs bower gulp webpack

1811
推荐指数
8
解决办法
27万
查看次数

如何将Node.js的TypeScript代码编译为一个文件?

我想在使用Node.js时将TypeScript编译为一个文件.

我试过像这样配置"tsconfig.json":

"compilerOptions": {
    "module": "commonjs",
    "target": "es6",
    "noImplicitAny": false,
    "sourceMap": false,
    "outFile": "./app/index.js",
    "pretty": true,
    "types": [
      "node"
    ]
  }",
Run Code Online (Sandbox Code Playgroud)

...但是当我尝试使用module" set to"commonjs"时,我得到错误:

error TS6082: Only 'amd' and 'system' modules are supported alongside --outFile.
Run Code Online (Sandbox Code Playgroud)

如果我将其更改为"module": "system",则在运行该文件时出现此错误node:

ReferenceError: System is not defined
Run Code Online (Sandbox Code Playgroud)

如果我module改为"amd",我在运行文件时遇到此错误node:

ReferenceError: define is not defined
Run Code Online (Sandbox Code Playgroud)

node.js typescript typescript2.0

14
推荐指数
2
解决办法
4546
查看次数

标签 统计

bower ×1

gruntjs ×1

gulp ×1

node.js ×1

npm ×1

typescript ×1

typescript2.0 ×1

webpack ×1