标签: source-maps

VS Code:在 Node.js 调试器中单步执行库函数时调试 TS 代码

我在 TS 中编写了一个库和一个测试我的库的程序。我已经为库和程序启用了源映射,并且我正在使用 node.js 调试器。

调试程序的 TS 代码是有效的,但是一旦我进入库函数的调用,我就会调试发出的 JS 代码而不是我的 TS 源。

我将库的 package.json 的 'files' 字段设置为 [ "lib" ],其中 lib 是包含 JS 文件以及源映射的目录,但这并没有改变任何内容。

我还有另一种方法如何告诉 VS Code 它应该使用我的库的源映射?

node.js source-maps typescript visual-studio-code vscode-debugger

4
推荐指数
1
解决办法
1614
查看次数

如何使用源映射调试模块化TypeScript?

我正在尝试使用Chrome开发工具中的TypeScript调试工作.我为所有.ts文件生成了源映射,javascript看起来正确,但Chrome只加载index.html中引用的js文件并忽略所有模块.这有点意义,因为Typescript编译器似乎没有对我的模块做任何事情.如果有人可以在下面的例子中解释我做错了什么,那就太好了.

我的项目设置如下:

root/
  src/
    Company.ts
    User.ts
  app.ts
  index.html
Run Code Online (Sandbox Code Playgroud)

Company.ts

module Company {

    export class Job {
        public title:string;
        public description:string;

        constructor(title:string, desc:string){
            this.title = title;
            this.description = desc;
        };
    }
}
Run Code Online (Sandbox Code Playgroud)

User.ts

 ///<reference path="Company.ts"/>

module User {
    export class Person {
        public first:string;
        public last:string;
        private myJob:Company.Job;
        private myAccount:User.Account;

        constructor(firstName:string, lastName:string){
            this.first = firstName;
            this.last = lastName;
        }

        public getName():string{
            return this.first + ' ' + this.last;
        }

        public setJob(job:Company.Job){
            this.myJob = job;
        }

        public setAccount(acct:User.Account){
            this.myAccount = acct;
        } …
Run Code Online (Sandbox Code Playgroud)

google-chrome-devtools source-maps typescript

3
推荐指数
1
解决办法
3722
查看次数

从uglifyjs源地图中恢复javascript源代码

我正在逆向工程一个神奇的脚本。我有一个ug lified源代码和uglifyjs生成的源映射

有人知道有什么直接的方法可以从中获得至少部分可读的源代码吗?我发现了一些晦涩的方法,包括通过多种语言进行转换,但我希望能有更好的方法。

谢谢!

javascript obfuscation deobfuscation uglifyjs source-maps

3
推荐指数
3
解决办法
2127
查看次数

从缩小的文件中提取单个javascript文件代码

我有一个.js文件列表,我有一个缩小版本的这些文件与源地图.已使用UglifyJS创建缩小文件

是否可以从缩小的文件中提取单个js文件的代码?也许通过阅读源地图?

例如:

original files:
1)head.js
2)tail.js
3)stomach.js
4)liver.js

minified file (containing code of all of above files):
-> body.min.js

source map:
-> body.min.js.map
Run Code Online (Sandbox Code Playgroud)

是否有可能从body.min.js中提取胃部.js的缩小代码(字符串)?

javascript node.js source-maps uglifyjs2

3
推荐指数
1
解决办法
1472
查看次数

是否可以在 Firefox(版本 45.0.1)中禁用源映射?

有“显示原始来源”复选框,但似乎不起作用。我试图找到一种方法来禁用 FF Developer Tools 和 Firebug 中的源映射,但没有任何成功。

截屏

顺便说一句:在 Chrome 开发工具中禁用它们很容易。

javascript firefox firebug source-maps

3
推荐指数
1
解决办法
3677
查看次数

如何使用CommonsChunkPlugin,UglifyJsPlugin和SourceMapDevToolPlugin为单个块获取正确的源映射文件?

我正在尝试让webpack为React项目输出正确的源图,该项目使用CommonsChunkPlugin拆分为应用程序和供应商块,并使用UglifyJsPlugin缩小.这是针对生产环境的,所以我:

  • 不希望生成供应商包的巨大源图.
  • 不想在地图文件中使用webpack://来源
  • 不想要css的地图文件
  • 需要实际的映射文件输出并从js文件链接到,以便错误监视工具可以加载它

所有这些对于devtool配置选项来说似乎有点太多了,所以我试图直接使用devtool:false来使用SourceMapDevToolPlugin.

webpack配置的相关部分如下所示:

entry: production ? {
    app: './src/index.jsx',
    vendor: Object.keys(packageDotJson.dependencies)
} : './src/index.jsx',

output: {
    path: production ? './dist' : './assets',
    publicPath: production ? '' : '/',
    filename: production ? 'app.[hash].js' : 'app.js'
},

plugins: production ? [
    new webpack.optimize.CommonsChunkPlugin(/* chunkName= */"vendor", /* filename= */"vendor.bundle.[hash].js"),
    new webpack.optimize.DedupePlugin(),
    new webpack.optimize.UglifyJsPlugin({
        compress: {
            warnings: false
        }
    }),
    new ExtractTextPlugin("app.[hash].css"),
    new webpack.SourceMapDevToolPlugin({
        test: [/\.js$/, /\.jsx$/],
        filename: "app.[hash].js.map",
        append: "//# sourceMappingURL=[url]",
        moduleFilenameTemplate: "[absolute-resource-path]",
        fallbackModuleFilenameTemplate: "[absolute-resource-path]",
        columns: false
    }),
    new …
Run Code Online (Sandbox Code Playgroud)

javascript source-maps webpack

3
推荐指数
1
解决办法
4718
查看次数

流星部署 - 如何创建源地图?

使用meteor,有没有办法在部署过程中创建源映射?

目的是将源映射上传到支持它们的 js 错误跟踪器服务 (atatus.com),以获得更多有用的错误消息。现在我在 .meteor 目录中找到的唯一源映射是开发环境。

deployment meteor source-maps

3
推荐指数
1
解决办法
855
查看次数

如何解释源映射映射?

假设我有这个样式表:

.d1
    width: 10px
    .d2
        width: 20px
Run Code Online (Sandbox Code Playgroud)

它会产生以下 css 代码(带有nested输出样式):

.d1 {
  width: 10px; }
  .d1 .d2 {
    width: 20px; }
Run Code Online (Sandbox Code Playgroud)

源映射 ( v3) 包含以下映射:

AAAA,AAAA,GAAG,CAAC;EACA,KAAK,EAAE,IAAK,GAES;EAHzB,AAEI,GAFD,CAEC,GAAG,CAAC;IACA,KAAK,EAAE,IAAK,GAAG
Run Code Online (Sandbox Code Playgroud)

使用此服务对其进行解码后,我得到:

([0,0](#0)=>[0,0]) | ([0,0](#0)=>[0,0]) | ([0,3](#0)=>[0,3]) | ([0,4](#0)=>[0,4])
([1,4](#0)=>[1,2]) | ([1,9](#0)=>[1,7]) | ([1,11](#0)=>[1,9]) | ([1,16](#0)=>[1,13]) | ([3,25](#0)=>[1,16])
([0,0](#0)=>[2,2]) | ([2,4](#0)=>[2,2]) | ([0,3](#0)=>[2,5]) | ([2,4](#0)=>[2,6]) | ([2,7](#0)=>[2,9]) | ([2,8](#0)=>[2,10])
([3,8](#0)=>[3,4]) | ([3,13](#0)=>[3,9]) | ([3,15](#0)=>[3,11]) | ([3,20](#0)=>[3,15]) | ([3,23](#0)=>[3,18])
Run Code Online (Sandbox Code Playgroud)

源代码的生成方式与( )类似node-sasslibsass

我的理解是,这些是原始文件和结果文件中的点对。但我们以第二行的最后一对为例:([3,25](#0)=>[1,16])。第 3 行第 25 列?这有点出乎你的意料,你不觉得吗? …

css sass source-maps

3
推荐指数
1
解决办法
4009
查看次数

我可以将webpack源地图和源代码文件放在seprate文件夹中吗?

在生产中阅读了这个问题源地图文件 - 这样安全吗?.我想用源代码在不同的文件夹中生成源映射文件.有没有办法用webpack做到这一点?我还在WebStorm中读取了此线程的相对SourceMap路径以进行调试并进行了测试,但再次失败.

source-maps webpack

3
推荐指数
2
解决办法
1453
查看次数

webpack 中带有 sass-loader 和 postcss-loader 的 sourceMap

我正在尝试在 webpack 中启用 sourceMaps,但 sass-loader 和 postcss-loader 组合似乎存在问题。

启用 sass-loader 和 postcss-loader 后,我的控制台显示“无源”:

无源

但是当我禁用 postcss-loader 时,sourceMap 工作正常并指向“排版”文件:

排版

webpack.config.js

const path = require('path');
const ExtractTextPlugin = require('extract-text-webpack-plugin');

module.exports = {
    mode: 'development',
    entry: './src/index.js',
    output: {
        path: path.resolve(__dirname, 'dist'),
        publicPath: '/dist',
        filename: 'js/bundle.js',
    },
    devtool: 'inline-source-map',
    module: {
        rules: [{
                test: /\.css$/i,
                use: ExtractTextPlugin.extract({
                    fallback: 'style-loader',
                    use: ['css-loader', 'postcss-loader']
                })
            },
            {
                test: /\.scss$/i,
                use: ExtractTextPlugin.extract({
                    fallback: 'style-loader',
                    use: [{
                            loader: 'css-loader',
                            options: {
                                sourceMap: true
                            }
                        },
                        {
                            loader: 'postcss-loader', …
Run Code Online (Sandbox Code Playgroud)

css source-maps webpack sass-loader postcss-loader

3
推荐指数
1
解决办法
6358
查看次数