Віталій
это если в апи нет такого метода (а мне кажется есть)
🍀 Max
ребят, мне нужно проверить наличие в массиве определённой строки. как это сделать лучше?
Array.indexOf? Array.find? Array.findIndex?
🍀 Max
что производительнее?
Андрей
Андрей
Лучше пиши понятный код. Это не те проблемы, которые решать надо.
Андрей
А использовать тебе надо includes
🍀 Max
не критично, но мб )
🍀 Max
Віталій
интересно, почему выбрали includes, а не contains для названия
p
всем привет,
не могу передать переменные окружения через вебпек в клиентское приложение на реакте
plugins: [
..............
new webpack.DefinePlugin({
ENV_TEST: JSON.stringify("test")
}),
на клиенте:
ENV_TEST=undefined
нужно как-то плагин инсталировать или просто в конфиге вебпека указывать сразу?
Anonymous
p
Anonymous
А сколько у тебя config- файлов для webpack? Есть базовый? Ты же в базовый добавляешь?
p
два: один для дева и один для прода
Anonymous
Нужно добавить тогда в оба. И еще какая версия webpack?
p
4
Anonymous
Ну и зачем
MrSmith
Ребят кто курит ноду? https://www.w3schools.com/howto/howto_js_navbar_sticky.asp вот это хочу натянуть на джейд помазать nib но куда сувать js не понятно, вроде везде но вот здесь куда я чет не понял
Anonymous
Возможно ты словил этот баг: https://github.com/webpack/webpack/issues/6194
Попробуй завернуть так:
new webpack.DefinePlugin({
"process.env": {
ENV_TEST: JSON.stringify("test")
}
})
из кода теперь обращаться так: process.env.ENV_TEST
Андрей
Как реализовать простую корзину при заказе отправляется телефон и заказ на мыло продавца
MrSmith
Запахло глобальным окружением прям lua
Андрей
Без регистрации и пхп
p
p
как-то можно еще передать переменные?
Roman
та потому что поставь 3 вебпак и не мучай голову
Anonymous
А все
Roman
с 4 еще половина плагинов несовместимы
Anonymous
Я понял в чем дело у тебя
Anonymous
Для строки тебе не нужно делать JSON.stringify
Roman
да
p
Anonymous
Не нужно
Roman
ну то есть не факт, что у тебя проблема в этом, но какбы если особо опыта нет - лучше пока не лезть
Anonymous
она и так строчная
Anonymous
у тебя выходит ""test""
Roman
помоему все равно нужно
Roman
оно же ожидает стрингифаенное
Anonymous
Вот так делать можно и нужно:
isTest = true;
TEST_ENV: JSON.stringify(isTest)
Anonymous
Так оно и так уже стринговое)
p
p
безумие какое-то
Anonymous
Покажи webpack конфиг
p
Покажи webpack конфиг
const webpack = require('webpack');
const HTMLPlugin = require('html-webpack-plugin');
const port = process.env.PORT || 3000;
const host = process.env.SERVER;
const api_port = Number(process.env.API_PORT);
module.exports = {
mode: 'development',
entry: {
//vendor: ['semantic-ui-react'],
app: ['babel-polyfill','react-hot-loader/patch', './src/client/index.js']
},
output: {
filename: '[name].[hash].js',
publicPath: '/'
},
devtool: 'inline-source-map',
module: {
rules: [
// First Rule
{
test: /\.(js)$/,
exclude: /node_modules/,
use: ['babel-loader']
},
// Second Rule
{
test: /\.css$/,
use: [
{
loader: 'style-loader'
}
,
{
loader: 'css-loader'
,
options: {
modules: false,
camelCase: false,
sourceMap: true
}
}
]
}
]
},
optimization: {
splitChunks: {
cacheGroups: {
vendor: {
chunks: 'initial',
test: 'vendor',
name: 'vendor',
enforce: true
}
}
}
},
plugins: [
new webpack.DefinePlugin({
"process.env": {
ENV_TEST: "test"
}
}),
new webpack.NamedModulesPlugin(),
new webpack.HotModuleReplacementPlugin(),
new webpack.NoEmitOnErrorsPlugin(),
new HTMLPlugin({
template: 'public/index.html',
favicon: 'public/favicon.png'
}),
],
devServer: {
host: 'localhost',
port: port,
historyApiFallback: true,
open: true,
hot: true
}
};
MrSmith
Ало ребят кто кодит на
Anonymous
1. new webpack.NoEmitOnErrorsPlugin() в самое начало перемести (хотя это и не касается проблемы)
2. убери mode: 'development',
И в package.json в скриптах просто добавь соответствующие переменные окружения для prod и dev. Типа такого:
"build": "cross-env NODE_ENV=\"production\" webpack --config webpack.config.prod.js"
"start": "webpack-dev-server --colors --config webpack.config.dev.js"
MrSmith
Не могу склеить нав бар
Anonymous
В webpack 4 можно и без NODE_ENV просто --mode development и --mode production
Anonymous
Или убери эти mode нафиг, у меня есть подозрение, что mode: "production" создет под капотом
new webpack.DefinePlugin({
"process.env": {
"process.env.NODE_ENV": JSON.stringify("production")
}
})
Который и перетирает переменные из твоего плагина
p
Anonymous
Тогда не знаю, даунгрейдся до 3.x
p
сейчас попробую
🌀 through a haze 🌀
народ, подскажите плиз
чем плохи объявленные но никогда неиспользуемые модули в node.js, кроме засорения кода?
например var lodash = require('lodash')
🌀 through a haze 🌀
на фронтенде понятно, что билд раздувается, хотя и то не факт, может умный сборщик и выкинет такое
а вот на бекенде чем плохо подобное?
🌀 through a haze 🌀
по идее в замыкании переменная не будет храниться, раз нигде не используется, так что сборщик мусора уберет её, верно?
Sergey
Sergey
🌀 through a haze 🌀
но ведь ссылок на неё негде не будет уже, не?
🌀 through a haze 🌀
а хотя... сам модуль будет замыканием
🌀 through a haze 🌀
да?
Sergey
Sergey
Но
Sergey
Его нода закеширует
Sergey
Он точно будет в памяти
🌀 through a haze 🌀
т.е. памяти все-таки чуть больше может потребоваться?
Anonymous
cross-env это хук для того, что бы переменные можно было кидать и на win32. Если ты на Mac/Unix он не нужен
p
ага, но мне-то в реакт приложние нужно передать значания
p
я думаю тут он не сработает
Anonymous
Все env что ты кидаешь появляются только в node.js что бы их транслировать на клиент и нужен как раз DefinePlugin
p
ага
Ruslan
Как в JQuery'вский $.each передать this?
Ruslan
При переходе в $.each this указывает куда-то в стратосферу. Без глобальных переменных можно?
Konstantin
(индекс, элемент коллекции)
MrSmith
Ребзи как вынести из jade скрипт у нас жи типа интерпраййз модел вью контроллер там все дела - волосатые горы
Ruslan
Итерируется у меня другое.