如何解决Rails 6 无法导入纱线依赖项:未捕获错误:模块解析失败:意外字符 '#' (1:0)
我将彩虹代码 javascript 依赖项添加到我的 rails 6 应用程序中
yarn add rainbow-code
在 app/javascripts/packs/rainbow.js
中添加了一个文件并尝试要求它
const rainbow = require('rainbow-code')
当我重新加载页面时
browser.js:208 Uncaught Error: Module parse failed: Unexpected character '#' (1:0)
如果我看node_modules/rainbow-code/src/rainbow-code.js
,我看到
1 #!/usr/bin/env node
2 /* eslint-disable */
3 var fs = require('fs');
4 global.Rainbow = require('../dist/rainbow.js');
5
6 var files = fs.readdirSync(__dirname + '/language');
7 for (var i = 0; i < files.length; i++) {
8 require('./language/' + files[i]);
9 }
10
11 module.exports = global.Rainbow;
12 delete global.Rainbow;
13 /* eslint-enable */
所以它是一个以 shebang 开头的 shell 脚本,它试图被解析为一个 javascript 文件,这显然是行不通的。加载此依赖项的最佳方法是什么?
解决方法
库的包入口指向节点实现,它解释了你看到的行为。
看起来浏览器版本位于项目的子目录中。试试这个:
import rainbow from ‘rainbow-code/dist/rainbow’
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。