Javascript 如何在grunt cli中提供外部端口,以便将其托管在服务器上?

Javascript 如何在grunt cli中提供外部端口,以便将其托管在服务器上?,javascript,angular,docker,gruntjs,devops,Javascript,Angular,Docker,Gruntjs,Devops,我正在使用docker制作图像来运行我的前端 它在我的笔记本电脑上运行得很好,但在我的服务器上,我无法通过浏览器访问它 你可以看到我的屏幕截图,看看我的浏览器是怎么说的 所以,我的项目在angular(grunt cli)前端,后端在flask中,数据库在mongodb中。 后端工作正常,但grunt cli,我无法通过浏览器访问它,但我可以 curl http://:9000以查看内容 这是我的Grunfile.js-- module.exports=函数(grunt){ // =======

我正在使用docker制作图像来运行我的前端

它在我的笔记本电脑上运行得很好,但在我的服务器上,我无法通过浏览器访问它

你可以看到我的屏幕截图,看看我的浏览器是怎么说的

所以,我的项目在angular(grunt cli)前端,后端在flask中,数据库在mongodb中。 后端工作正常,但grunt cli,我无法通过浏览器访问它,但我可以 curl http://:9000以查看内容

这是我的Grunfile.js--

module.exports=函数(grunt){
// ===========================================================================
//配置GRUNT===========================================================
// ===========================================================================
grunt.initConfig({
//从package.json获取配置信息----------------------------
//这样我们就可以使用名称和版本(pkg.name)之类的东西
pkg:grunt.file.readJSON('package.json'),
//配置jshint以验证js文件-----------------------------------
jshint:{
选项:{
记者:require('jshint-style')
},
全部:['Grunfile.js','src/components/***.js']
},
//配置uglify以缩小js文件-------------------------------------
丑陋的:{
选项:{
横幅:'/*\n\n*/\n'
},
建造:{
档案:{
'dist/js/components.min.js':'src/components/***.js'
}
}
},
//将较少的样式表编译为css-----------------------------------------
减:{
建造:{
档案:{
'dist/css/pretty.css':'src/css/pretty.less'
}
}
},
//配置cssmin以缩小css文件------------------------------------
cssmin:{
选项:{
横幅:'/*\n\n*/\n'
},
建造:{
档案:{
'dist/css/style.min.css':'src/css/style.css'
}
}
},
//将watch配置为自动更新------------------------------------------
观察:{
样式表:{
文件:['src/***/.css','src/***/.less'],
任务:['less','cssmin']
},
脚本:{
文件:“src/***.js”,
任务:['jshint','uglify']
}
},
快递:{
全部:{
选项:{
港口:9000,
主机名:“0.0.0.0”,
碱基:['./src'],
利弗雷罗德:没错
}
}
}
});
// ===========================================================================
//加载GRUNT插件========================================================
// ===========================================================================
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks(“grunt-contrib-uglify”);
grunt.loadNpmTasks(“grunt-contrib-less”);
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks(“grunt-contrib-watch”);
grunt.loadNpmTasks('grunt-express');
// ===========================================================================
//创建任务==============================================================
// ===========================================================================
grunt.registerTask('serve-waalos',['jshint','cssmin','uglify','express','watch']);
registerTask('default',['test','build']);
};
module.exports = function(grunt) {

// ===========================================================================
// CONFIGURE GRUNT ===========================================================
// ===========================================================================
grunt.initConfig({

  // get the configuration info from package.json ----------------------------
  // this way we can use things like name and version (pkg.name)
  pkg: grunt.file.readJSON('package.json'),

  // configure jshint to validate js files -----------------------------------
  jshint: {
    options: {
      reporter: require('jshint-stylish')
    },
    all: ['Grunfile.js', 'src/components/**/*.js']
  },

  // configure uglify to minify js files -------------------------------------
  uglify: {
    options: {
      banner: '/*\n <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> \n*/\n'
    },
    build: {
      files: {
        'dist/js/components.min.js': 'src/components/**/*.js'
      }
    }
  },

  // compile less stylesheets to css -----------------------------------------
  less: {
    build: {
      files: {
        'dist/css/pretty.css': 'src/css/pretty.less'
      }
    }
  },

  // configure cssmin to minify css files ------------------------------------
  cssmin: {
    options: {
      banner: '/*\n <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> \n*/\n'
    },
    build: {
      files: {
        'dist/css/style.min.css': 'src/css/style.css'
      }
    }
  },

  // configure watch to auto update ------------------------------------------
  watch: {
    stylesheets: {
      files: ['src/**/*.css', 'src/**/*.less'],
      tasks: ['less', 'cssmin']
    },
    scripts: {
      files: 'src/**/*.js',
      tasks: ['jshint', 'uglify']
    }
  },
express:{
  all:{
    options:{
      port:9000,
      hostname:'0.0.0.0',
      bases:['./src'],
      livereload: true
    }
  }
}

});

// ===========================================================================
// LOAD GRUNT PLUGINS ========================================================
// ===========================================================================
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-express');

// ===========================================================================
// CREATE TASKS ==============================================================
// ===========================================================================

grunt.registerTask('serve-waalos', ['jshint','cssmin','uglify','express','watch']);
grunt.registerTask('default', ['test', 'build']);

 };