我知道如何用纱线把包裹包括在内。我遇到的问题实际上是我安装的任何javascript包。但我是用作物作为一个具体的例子。
纱安装
安装相关文件,可以在/node_node/cropperjs下面找到。
从"cropperjs“或
(”cropperjs“)进口作物
我认为这是在将正确的包添加到webpack中,因为当我在打包的json中进行搜索时,我会在应用程序js文件中看到对cropper的引用。
/*和谐导入*/ var cropperjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*!/node_ cropperjs__WEBPACK_IMPORTED_MODULE_4___default / cropperjs /dist/cropper.js“);/*和谐导入*/ var
/#__PURE/webpack_require.n(cropperjs__WEBPACK_IMPORTED_MODULE_4__);
但是我不知道如何读取它,所以我假设相关的js将被添加到全局application.js文件中。
但是,我不能在调试器中访问Cropper,也不能在调用设置对象时访问Cropper。
我已经试着尽可能多地阅读文档,但我无法理解如何通过webpacker访问包含的或所需的javascript库中的函数调用。
这在资产开发过程中是微不足道的,我可以回到这个问题上,但这似乎是我们应该朝着的方向,但即使是像现代前端开发使用TS这样的书,我也是一个新手,有js,它使事情变得更加复杂。
有人能帮我找到一个解释,澄清使用webpacker为rails 6添加js包的正确方法,从而使添加的包可以在全球范围内访问吗?我在使用jQuery时遇到了同样的问题,我还剪切并粘贴了一些代码,以使其可以访问。
import $ from 'jquery';
global.jQuery = $;
global.$ = $;但老实说,我不知道如何为cropper或任何其他js包做类似的事情。
发布于 2020-06-30 03:34:29
默认情况下,Webpack不向全局范围公开任何模块。这包括与webpack一起编写和捆绑的任何模块,或者在node_modules中安装的任何与纱线一起安装的模块。
有几种方法可以将模块添加到全局范围。
您可以为全局范围指定单个引用,即window或global (这两个引用在webpack中是相同的)。正如您为jQuery所做的一样,您也可以对Cropper这样做:
import Cropper from 'cropperjs'
window.Cropper = Cropper对于小型项目或有限的用例来说,为全局对象指定引用应该是足够的。
https://stackoverflow.com/questions/62631682
复制相似问题