Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 为前端项目设置环境_Typescript_Sass_Gulp_Visual Studio Code_Typescript Typings - Fatal编程技术网

Typescript 为前端项目设置环境

Typescript 为前端项目设置环境,typescript,sass,gulp,visual-studio-code,typescript-typings,Typescript,Sass,Gulp,Visual Studio Code,Typescript Typings,我正在使用VS代码进行一个纯前端项目。我有一个用于typescript的文件夹和另一个用于sass的文件夹。我用Gulp在单独的js和css文件夹中编译它们 我在尝试使用var something=require('some-node-module')时遇到了一个问题并在typescript和浏览器控制台中都出现错误。我为此添加了@types,但它不起作用,因为我仍然在浏览器控制台中出错。我搜索了更多,找到了问题,我明白了问题所在,并从那里开始使用Browserify。现在,typescript

我正在使用VS代码进行一个纯前端项目。我有一个用于typescript的文件夹和另一个用于sass的文件夹。我用Gulp在单独的js和css文件夹中编译它们

我在尝试使用
var something=require('some-node-module')时遇到了一个问题并在typescript和浏览器控制台中都出现错误。我为此添加了@types,但它不起作用,因为我仍然在浏览器控制台中出错。我搜索了更多,找到了问题,我明白了问题所在,并从那里开始使用Browserify。现在,typescript编译时没有错误,每次更改某些内容时,我都必须生成一个bundle。我可以做些什么来摆脱Browserify,并且仍然能够在typescript中使用require()。由于这是我的第一个纯前端项目,我想保持它的简单和干净,而不是使用大量的插件/模块使其工作

My tsconfig.json:

{
"files": [
    "ts/main.ts"     
],
"compilerOptions": {
    "noImplicitAny": true,
    "target": "es5",
    "outDir": "js"
}
}
{
    "compilerOptions": {
        "sourceMap":  true,
        "removeComments": true,
        "target":"es5",
        "out": "dist/js/main.js"
    }
}
是否有任何方法可以使用类型,而无需安装更多节点模块以使其正常工作?

当您使用
require()
import
时,您就是在使用模块。当您使用模块时,您需要一个模块绑定器,如browserify或webpack

但是您不必在typescript项目中使用模块。typescript编译器已经自动将所有单独的.ts文件连接到一个.js包中。您需要在tsconfig.json中设置输出文件:

{
"files": [
    "ts/main.ts"     
],
"compilerOptions": {
    "noImplicitAny": true,
    "target": "es5",
    "outDir": "js"
}
}
{
    "compilerOptions": {
        "sourceMap":  true,
        "removeComments": true,
        "target":"es5",
        "out": "dist/js/main.js"
    }
}
单独的.ts文件可能如下所示:

class Test {
   constructor(){
      console.log("hi!");
   }
}
使用模块的区别在于您的测试类将被放置在全局范围内,但您可以通过使用一个名称空间来防止这种情况的发生,您可以在该名称空间中放置所有的类:

namespace Game {
    export class Test {
       constructor(){
          console.log("hi!");
       }
    }
}
现在,在全局范围中只有一个名为“Game”的对象,您不需要模块绑定器来创建单个.js文件。

当您使用
require()
import
时,您就是在使用模块。当您使用模块时,您需要一个模块绑定器,如browserify或webpack

但是您不必在typescript项目中使用模块。typescript编译器已经自动将所有单独的.ts文件连接到一个.js包中。您需要在tsconfig.json中设置输出文件:

{
"files": [
    "ts/main.ts"     
],
"compilerOptions": {
    "noImplicitAny": true,
    "target": "es5",
    "outDir": "js"
}
}
{
    "compilerOptions": {
        "sourceMap":  true,
        "removeComments": true,
        "target":"es5",
        "out": "dist/js/main.js"
    }
}
单独的.ts文件可能如下所示:

class Test {
   constructor(){
      console.log("hi!");
   }
}
使用模块的区别在于您的测试类将被放置在全局范围内,但您可以通过使用一个名称空间来防止这种情况的发生,您可以在该名称空间中放置所有的类:

namespace Game {
    export class Test {
       constructor(){
          console.log("hi!");
       }
    }
}

现在,在全局范围内只有一个名为“Game”的对象,您不需要模块绑定器来创建单个.js文件。

每个前端项目都需要Browserify或Webpack(推荐)将模块绑定到与浏览器兼容的脚本中
require()
是导入其他模块/脚本的
nodejs
”函数,但它不存在于浏览器生态系统中


每个前端项目都需要Browserify或Webpack(推荐)将模块捆绑到与浏览器兼容的脚本中
require()
是导入其他模块/脚本的
nodejs
”函数,但它不存在于浏览器生态系统中