我开始在我的Aurelia网络项目中使用JSPM,我想知道使用它是否有任何后果或优势import "
?
我见过JS类中客户端库的代码:
import "jquery"; import "bootstrap/css/bootstrap.css!" import "bootstrap"; export class App { constructor { } }
问题:以这种方式导入它与文件中的传统包含和
标记相反有什么区别/优点/缺点
.html
?
我的试验和错误告诉我,通过import
在特定的类/ js文件中使用,它将库限制为该特定视图文件,而不是全局可用.
最后,当你为生产构建这些项目时,这些库是否需要存在于index.html中?
我的意见是:你应该使用import
关键字,这就是为什么:
风格问题:它是ES6风格,Aurelia有点迫使你使用它
重要的可读性:其他开发人员希望您使用import
,因此可能会使他们感到困惑
再次,import
负责加载,所以如果你只是添加一个脚本标签,你可能会添加一些import
,然后一些功能可能会重新声明.
美女:我认为你的代码中有100个标签并不是很漂亮
捆绑生产.你是不是要用Grunt或Gulp来连接和丑化所有这些?如果是这样,这是额外的工作,因为在默认配置中它是开箱即用的.如果不......嗯,不,你应该这样做
汇总.这是最甜蜜的部分.
JSPM太棒了!这与该项目略有不同 - 它将存储库与包管理器和客户端模块加载器相结合,而不是简单地捆绑模块.JSPM允许您使用任何模块格式,甚至无需构建步骤即可开发,因此它是创建应用程序的绝佳选择.Rollup生成较小的捆绑包,不使用复杂的SystemJS格式,因此是创建库的更好选择.JSPM的未来版本可能会在内部使用Rollup,因此您将获得两全其美的优势.
Rollup是另一个使用的专业人士import
.它的作用是翻录你使用的库并使用你需要的最少量的代码,所以如果你只需要一些东西,比如jQuery,你就不需要让你的访问者下载50KB(或者你需要多少钱)现在?).
您可以在此处阅读有关Rollup的更多信息.