我的西兰花构建需要花费很多时间.每次更改一行js时,构建约30秒(我的意思是使用dev服务器运行的增量重构,而不是完整的构建).
这是我的情况.我有一个项目A,它是项目B的一个ember插件npm link.我正在开发项目A,我ember server在项目B上运行.
每个单独的时间我对项目A中的一行javascript进行更改并重建,我看到项目B中的以下文件发生了变化:
B/dist/assets/vendor.css
B/dist/assets/vendor.js
B/dist/assets/vendor.map
B/dist/assets/B.css
B/dist/assets/B.css.map
Run Code Online (Sandbox Code Playgroud)
我担心的是,因为我正在开发一个链接包,我的西兰花配置是这样的,整个node_modules被重新组合到那些供应商文件中.
有没有办法让我配置ember/broccoli使用单独的文件来编译A并将其与其余部分隔离vendor.js?B/dist/assets/A.min.css并B/dist/assets/A.min.js为例子吗?
...或者我猜错了问题的原因?
非常感谢你的帮助!
编辑:这是一些额外的信息请求
Slowest Nodes (totalTime => 5% ) | Total (avg)
----------------------------------------------+---------------------
Concat (11) | 39239ms (3567 ms)
RecastFilter (280) | 33127ms (118 ms)
Babel (233) | 14099ms (60 ms)
EslintValidationFilter (5) | 12632ms (2526 ms)
LessCompiler (46) | 7191ms (156 ms)
Slowest Nodes (totalTime => 5% ) | Total (avg)
----------------------------------------------+---------------------
SourceMapConcat: Concat: Vendor …Run Code Online (Sandbox Code Playgroud) 我通常npm install在我的本地开发机器(OSX)上运行命令,以便在一个地方收集我的所有节点模块,这样我就可以查看它们,在我的IDE中完成,等等.
但是,我刚接触使用yarn,并且看起来锁文件中某些版本的软件包被锁定为特定于我的开发环境,所以当我在一个高山的docker容器中打包我的package.json时它会告诉我类似的东西
warning fsevents@1.1.2: The platform "linux" is incompatible with this module.
我猜这意味着包被锁定到特定于OSX的特定版本或一组依赖项.
这似乎没有打破任何功能,但我担心它可能会下线.关于如何保持纱线跨平台开发的任何想法?或者我在这里看到的完全是良性的?
我有一个程序,最明智的做法是覆盖内存中的对象而不是更改它,或者重定向对它的引用。
基本上,如果我在写 C++,我会有多个指针都指向内存中的同一个地址。我想覆盖那个地址的内容。
我也希望能够从对象本身内部执行此操作。
IE
class MyClass
def __init__(self):
pass
def overwrite(self,otherObjectOfTypeMyClass):
#after this operation, all references to self now point to otherObjectOfTypeMyClass
Run Code Online (Sandbox Code Playgroud) 似乎有时会npm link在出现yarn link奇怪错误的情况下起作用。我注意到了几次。我以为他们俩都在后台做符号链接-他们在做些不同的事情吗?
有没有从js/coffee控制台导入库的快捷方法?现在,每次我需要使用库时,我都会注入一个脚本元素,将cdn链接到我的DOM,如下所示:
var jq = document.createElement('script');
jq.src = "//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
Run Code Online (Sandbox Code Playgroud)
这真是一种痛苦.必须有一些方法可以在本地存储常用的库,然后允许我的控制台使用requirejs或其他东西将它们导入一行(而不记住cdn url).我是一个蟒蛇人,我已经习惯于在我的PATH中插入任何已安装的模块.我希望能够以类似的方式玩js - 这就是我学得最好的方式.
javascript ×2
yarnpkg ×2
broccolijs ×1
coffeescript ×1
docker ×1
ember-cli ×1
ember.js ×1
node.js ×1
npm ×1
python ×1