小编Rat*_*Lal的帖子

超级关键字出乎意料

根据ES6速记初始化,以下两种方法是相同的:

在ES5中

var person = {
  name: "Person",
  greet: function() {
     return "Hello " + this.name;
  }
};
Run Code Online (Sandbox Code Playgroud)

在ES6中

var person = {
  name: "Person",
  greet() {
     return "Hello " + this.name;
  }
};
Run Code Online (Sandbox Code Playgroud)

ES6的方式与之前的方式有什么不同吗?如果不是那么在它们里面使用"超级"也应该被视为相等,这不符合,请看下面的两个变量:

下面的工作

let person = {
  greet(){
   super.greet(); 
  }
};

Object.setPrototypeOf(person, {
  greet: function(){ console.log("Prototype method"); }
});

person.greet();
Run Code Online (Sandbox Code Playgroud)

下面失败了

let person = {
  greet: function(){
   super.greet(); // Throw error: Uncaught SyntaxError: 'super' keyword unexpected here
  }
};

Object.setPrototypeOf(person, {
  greet: function(){ console.log("Prototype method"); }
}); …
Run Code Online (Sandbox Code Playgroud)

super ecmascript-6

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

使用 webpack 进行微前端开发

我正在尝试构建微前端生态系统。有许多团队开发不同的组件,使应用程序在单页中作为单页应用程序一起工作。所有组件都应该独立构建和部署,并且应该在单个 HTML 页面中引用,以便通过在运行时解析来开始协同工作。例如,在生产中,我们应该在 html 页面中有以下脚本文件:

<script src="http://deploy-server/external/vendor1.js" />
<script src="http://deploy-server/external/vendor2.js" />
<script src="http://deploy-server/external/vendor3.js" />
<script src="http://deploy-server/internal/comp1.js" />
<script src="http://deploy-server/internal/comp2.js" />
<script src="http://deploy-server/internal/comp3.js" />
Run Code Online (Sandbox Code Playgroud)

现在,下面将是包的详细信息:

vendor1 -> Reactjs, react-dom, react-router (most used lib for making react eco-system, Used by all internal component scripts)
vendor2.js -> react-datepicker, lodash, (libraires used by comp2.js)
vendor3.js -> Used by comp3.js
Run Code Online (Sandbox Code Playgroud)

comp1.js,comp2.js,comp3.js -> 使用 vendor1.js 并且将来可能正在使用或可能开始使用 vendor2 和 vendor3 js 模块。

如何分别捆绑外部供应商文件和内部库,同时希望使用它们在不同团队之间共享以进行开发。假设我已经捆绑了 vendor1.js,它应该如何用于开发和构建 comp3、comp4、....?

我尝试使用“共享”构建 vendor1.js,但是当使用 comp2.js 引用它时,出现运行时错误。

编辑:添加代码我尝试共享供应商文件不同的团队,我在 app1 中创建了供应商文件,具有以下 webpack.config.js

   entry: {
      home: { …
Run Code Online (Sandbox Code Playgroud)

bundling-and-minification reactjs webpack

7
推荐指数
0
解决办法
397
查看次数