我们最近将rails应用程序从链轮更改为webpack,除了bootstrap-tokenfield之外,所有东西似乎都移植得很好。在dev环境服务器上,它显示所有内容都已编译,但令牌域并未按其应有的方式呈现。
我尝试切换相应css的位置/名称,并尝试将JS库附加到环境插件中,但都无济于事。
environment.js
// for loading css ...
const merge = require('webpack-merge')
const myCssLoaderOptions = {
modules: true,
sourceMap: true,
localIdentName: '[name]__[local]___[hash:base64:5]'
}
const CSSLoader = environment.loaders.get('sass').use.find(el => el.loader === 'css-loader')
CSSLoader.options = merge(CSSLoader.options, myCssLoaderOptions)
const webpack = require('webpack');
environment.plugins.append('Provide', new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
Popper: ['popper.js', 'default']
}));
module.exports = environmentapplication.js
import Turbolinks from 'turbolinks';
import 'bootstrap/dist/js/bootstrap';
import 'trix';
import 'chosen-js';
import '@coreui/coreui';
import 'jquery-ui';
import 'bootstrap-tokenfield'
Rails.start();
Turbolinks.start();
$(document).ready(function(){
$('form').on('click', '.remove_record', function(event) {
$(this).prev('input[type=hidden]').val('1');
$(this).closest('tr').hide();
return event.preventDefault();
});
$('form').on('click', '.add_fields', function(event) {
var regexp, time;
time = new Date().getTime();
regexp = new RegExp($(this).data('id'), 'g');
$('.fields').append($(this).data('fields').replace(regexp, time));
return event.preventDefault();
});
});
$(document).on('click', "tr[data-link]", function(){
window.location = $(this).data("link")
});
$(document).on('turbolinks:load', function() {
$('.chosen-select').chosen({
disable_search_threshold: 10,
width: '140px'
})
$('.chosen-select-form').chosen({
disable_search_threshold: 7,
width: '100%'
})
$('[data-toggle="tooltip"]').tooltip()
})application.scss (仍由链轮编译)
/*
*= require_tree .
*= require chosen
*= require jquery-ui
*= require bootstrap-tokenfield
//*= require trix
*
*/
// "bootstrap-sprockets" must be imported before "bootstrap" and "bootstrap/variables"
@import "bootstrap";
@import "font-awesome";
@import '@coreui/coreui/dist/css/coreui.min';我预计内置了令牌域的视图会呈现一个令牌域输入,但目前它们只显示常规的文本输入。
发布于 2019-04-02 00:05:17
我只是在layout.html.erb页面上直接包含了jquery ui和引导标记域库,并对其进行了修复。
https://stackoverflow.com/questions/55458594
复制相似问题