源映射到公共目录之外的文件

时间:2016-04-04 11:15:20

标签: javascript angularjs npm gruntjs source-maps

我有这样的文件结构:

/server/
 - package.json
 - node_modules/
 - Gruntfile.js
/public/
 - index.html
 - assets/

/server时,我运行npm install,将Angular之类的内容下载到/server/node_modules

然后我运行Gruntfile.js,如下所示:

require('load-grunt-tasks')(grunt);

  grunt.initConfig({

    //concat js
    concat: {
      options: {
        separator: ';',
        sourceMap: true
      },
      lib: {
        src: [
          './node_modules/angular/angular.js',
          './node_modules/angular-route/angular-route.js',
          './node_modules/angular-animate/angular-animate.js'
        ],
        dest: '../public/assets/build/lib/lib.min.js'
      }
    },

    //minify js
    uglify: {
      options: {
        mange: true,
        compress: true,
        sourceMap: true
      },
      lib: {
        src: '<%= concat.lib.dest %>',
        dest: '<%= concat.lib.dest %>'
      }
    }

  });

  grunt.registerTask('build', ['concat', 'uglify']);

grunt文件按预期工作,使用源映射连接和缩小Angular模块。问题是域名指向公共目录,但源映射想要指向服务器目录中的Angular源代码,我认为这不会起作用。

如何解决这个问题?我是否必须在公共目录的根目录中拥有node_modules?如果可能的话,我宁愿在公共目录中没有任何预编译的代码,原因是当我把网站放到现场时,我可以简单地FTP公共目录并忽略服务器,减少不必要的批量。

0 个答案:

没有答案