[英]Cannot find node module in rails stimulus controller
我在將我創建的 npm package 導入我的 Rails 應用程序時遇到問題。
我不確定問題是出在我創建節點 package 的方式上,還是出在 Rails 應用程序上。
package 很簡單 -> https://www.npmjs.com/package/test-release-stuff
現在,當我試圖將它導入 rails 時(我通過 yarn 安裝它,然后看到它在節點模塊中)並且我嘗試將它導入我的刺激 controller 它告訴我它找不到模塊。 錯誤字面意思是:
Error: Cannot find module 'test-release'stuff'
我如何導入模塊?
我正在做import foo from 'test-release-stuff'
需要注意的一件事是,當我在一個簡單的 React Todo 應用程序中嘗試它時,它被導入時沒有任何問題。
我有一種感覺,它可能與我的 Rails 應用程序中的 webpacker 配置有關(下面是配置),或者它可能與節點 packaga packgage.json
文件有關,那里可能有些不正確。
const { webpackConfig, merge } = require('@rails/webpacker');
const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer');
const plugins = [];
if (process.env.ANALYZE === 'true') {
plugins.push(new BundleAnalyzerPlugin());
}
const customConfig = {
resolve: {
extensions: ['.css'],
},
plugins: plugins,
};
module.exports = merge(webpackConfig, customConfig);
然后在生產/開發/測試文件中我有這樣的東西:
process.env.NODE_ENV = process.env.NODE_ENV || 'production';
const webpackConfig = require('./base');
module.exports = webpackConfig;
這是一個 Rails 6 項目。
事實證明,這既不是 Rails 應用程序故障,也不是節點 package 故障。
我正在容器內運行項目。 盡管我安裝了該節點 package 的先前版本,但在更新它時,更改未正確反映在容器內 - 我假設在某些時候實際的yarn
命令未觸發或涉及一些緩存。
正確關閉容器后,運行docker-compose build
和docker-compose up
更改得到反映,我可以使用節點 package。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.