我正在使用电子样板,从这里:https://github.com/szwacz/electron-boilerplate/
它使用gulp-rollup捆绑资产,并且可以使用npm start
运行开发服务器。
以下是app.js
的导入声明:
import os from 'os';
import { remote } from 'electron';
import jetpack from 'fs-jetpack';
import env from './env';
import jquery from 'jquery';
import parsley from 'parsleyjs';
import select2 from 'select2/dist/js/select2.js';
import { setupForm } from './form/form';
使用npm start
初始加载时一切正常,但是一旦我编辑文件并保存,这会触发watch
重新加载构建,我收到错误:
Error: Could not load select2/dist/js/select2.js (imported by /##/repo-name-example/src/app.js): ENOENT: no such file or directory, open 'select2/dist/js/select2.js'
at /##/repo-name-example/node_modules/rollup/dist/rollup.js:9428:10
at process._tickDomainCallback (internal/process/next_tick.js:129:7)
如果我取消这个过程并再次npm start
,一切都很好。
为什么会忘记select2
的位置?
答案 0 :(得分:0)
由于您是使用文件路径手动导入它,而不是像jquery行那样使用命名导入,因此需要使用
import select2 from './select2/dist/js/select2.js';
注意开头的./
。否则,它会有效地查找名为select2/dist/js/select2.js
的模块,而不是使用路径。
您可能还需要将其更改为
import select2 from './node_modules/select2/dist/js/select2.js';
(假设文件夹所在的位置)