小编Fre*_*ars的帖子

如何通过打字稿声明具有两种类型的变量

我想通过 ts 声明一个具有两种类型的变量。但是编译器提示错误。像这样:

interface IAnyPropObject { 
    [name: string]: any;
}
let a: IAnyPropObject | ((str: string) => any);
a.B = "bbbbbbbb";//tips error
a("");//tips error
Run Code Online (Sandbox Code Playgroud)

注意:我不想使用'any'来声明。我只想通过这种方式约束变量。因为代码太旧了,它们不是TS代码。

javascript typescript

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

tsconfig 的“outFile”和 webpack 配置的“output”有什么区别

“输出”路径有什么不同?tsconfig 是一个加载器吗?运行 tsconfig 构建后,webpack 会解析“.ts”文件吗?
为什么找不到文件“src.js”?是不是被webpack自动删除了?

tsconfig.json:

{
    "compilerOptions": {
        "module": "amd",
        "noImplicitAny": true,
        "removeComments": true,
        "preserveConstEnums": true,
        "outFile": "src.js",
        "sourceMap": true
    },
    "include": [
        "src/**/*"
    ],
    "exclude": [
        "node_modules"
    ]
}
Run Code Online (Sandbox Code Playgroud)

webpack.config.js:

module.exports = {  
    entry: './index.ts',  
    output: {  
        filename: './dest.js'  
    },  
    module: {  
        loaders: [{  
            test: /\.ts$/,  
            loader:'ts-loader'
        }]  
    },  
    resolve: {  
        extensions: ['.webpack.js', '.web.js', '.ts', '.js']  
    }  
}  
Run Code Online (Sandbox Code Playgroud)

当我运行“webpack”时,找不到“src.js”,而“dest.js”则正常。

多谢。

javascript typescript webpack ts-loader

6
推荐指数
1
解决办法
3232
查看次数

标签 统计

javascript ×2

typescript ×2

ts-loader ×1

webpack ×1