Mica
Mica
@simongfxu 果然流行的技术还是得学,不然都跟不上时代了。只是你说的这三点,在我看来 Vue.js 也都能做到,待我试试 react 再来比较一下这两者使用起来哪个手感要好一些
@Folyd 不,使用的是正常版本,因为我在使用 CSP 版本的时候出现了莫名其妙的错误。
放宽内容安全策略。 https://github.com/lmk123/crx-selection-translate/blob/master/src/manifest.json#L7 官方文档:https://developer.chrome.com/extensions/contentSecurityPolicy#relaxing-eval
@simongfxu node.js 里可以用 [nock](https://github.com/pgte/nock) 来模拟 http 请求与响应
@luxuelin selection.dot 是 [doT](http://olado.github.io/doT/index.html) 模板,html 标记是为了不与网页的样式产生冲突,我自己定义的 html 标记
@luxuelin 因为划词翻译会嵌入到各种各样的网页里,如果某一个网页定义了一条样式: ``` css div { background-color: red; } ``` 那同样会影响到划词翻译的样式。 为了避免这样的样式冲突,同时也为了让我的 html 看起来更加语义化,我使用了自定义标记(例如把所有 `div` 替换成了 `lmk-div`),这样网页上的样式就不会影响到划词翻译的样式了。 当浏览器遇到这样的自定义标记时,你可以简单的理解为浏览器会把它当做 `span` 一样看待。
@luxuelin You got it :)
这个想法看起来很不错,加油 :) 对划词翻译源码的使用只要遵循 [GPL v3](https://www.gnu.org/licenses/gpl.html) 协议就可以了。
@imdoge RequirJS 与 Webpack 都是支持按需加载的,Browserify 我没有深入研究过,但我猜它应该是不支持的。 我推荐你学习 Webpack。
@Treri > 只是如果页面比较多的时候, 路由定义文件就会比较大. 这比一口气把所有文件加载进来好 :) 还有,我发现[这个项目](https://github.com/ocombe/ocLazyLoad)甚至可以按需加载 ui-router 的状态(state) = = > 把每个controller对应的css文件, 注入到每个文件的前面 > 把那些所有页面都需要的东西, 通过一个文件加载进来. 我也写过一个[类似的小工具](https://github.com/lmk123/requirejs-components-combine)。我在想其实对 css 的依赖可以写在 controller.js 里而不是路由里,然后使用类似的工具将它并到 controller.js 文件里就可以了. > 所有的vendor文件通过一个文件加载进来. 这个想法很好!